42bc76:	ff 76 04             	push   0x4(%esi)
42bc79:	ff 15 34 21 45 00    	call   *0x452134
42bc7f:	a1 3c f7 44 00       	mov    0x44f73c,%eax
42bc84:	47                   	inc    %edi
42bc85:	89 06                	mov    %eax,(%esi)
42bc87:	a1 40 f7 44 00       	mov    0x44f740,%eax
42bc8c:	89 46 04             	mov    %eax,0x4(%esi)
42bc8f:	8b 45 08             	mov    0x8(%ebp),%eax
42bc92:	3b f8                	cmp    %eax,%edi
42bc94:	72 aa                	jb     0x42bc40
42bc96:	a3 30 f7 44 00       	mov    %eax,0x44f730
42bc9b:	33 c0                	xor    %eax,%eax
42bc9d:	5f                   	pop    %edi
42bc9e:	5e                   	pop    %esi
42bc9f:	5d                   	pop    %ebp
42bca0:	c2 04 00             	ret    $0x4
42bca3:	cc                   	int3
42bca4:	cc                   	int3
42bca5:	cc                   	int3
42bca6:	cc                   	int3
42bca7:	cc                   	int3
42bca8:	cc                   	int3
42bca9:	cc                   	int3
42bcaa:	cc                   	int3
42bcab:	cc                   	int3
42bcac:	cc                   	int3
42bcad:	cc                   	int3
42bcae:	cc                   	int3
42bcaf:	cc                   	int3
42bcb0:	8b ff                	mov    %edi,%edi
42bcb2:	55                   	push   %ebp
42bcb3:	8b ec                	mov    %esp,%ebp
42bcb5:	83 ec 0c             	sub    $0xc,%esp
42bcb8:	56                   	push   %esi
42bcb9:	8b 75 08             	mov    0x8(%ebp),%esi
42bcbc:	57                   	push   %edi
42bcbd:	39 35 34 f7 44 00    	cmp    %esi,0x44f734
42bcc3:	0f 84 68 01 00 00    	je     0x42be31
42bcc9:	85 f6                	test   %esi,%esi
42bccb:	0f 84 32 01 00 00    	je     0x42be03
42bcd1:	33 c9                	xor    %ecx,%ecx
42bcd3:	8b c6                	mov    %esi,%eax
42bcd5:	ba 08 00 00 00       	mov    $0x8,%edx
42bcda:	f7 e2                	mul    %edx
42bcdc:	0f 90 c1             	seto   %cl
42bcdf:	f7 d9                	neg    %ecx
42bce1:	0b c8                	or     %eax,%ecx
42bce3:	33 c0                	xor    %eax,%eax
42bce5:	83 c1 04             	add    $0x4,%ecx
42bce8:	0f 92 c0             	setb   %al
42bceb:	f7 d8                	neg    %eax
42bced:	0b c1                	or     %ecx,%eax
42bcef:	50                   	push   %eax
42bcf0:	6a 00                	push   $0x0
42bcf2:	ff 35 00 12 45 00    	push   0x451200
42bcf8:	ff 15 24 21 45 00    	call   *0x452124
42bcfe:	85 c0                	test   %eax,%eax
42bd00:	0f 84 f0 00 00 00    	je     0x42bdf6
42bd06:	89 30                	mov    %esi,(%eax)
42bd08:	8d 78 04             	lea    0x4(%eax),%edi
42bd0b:	89 7d f8             	mov    %edi,-0x8(%ebp)
42bd0e:	8b ce                	mov    %esi,%ecx
42bd10:	8b c7                	mov    %edi,%eax
42bd12:	85 f6                	test   %esi,%esi
42bd14:	74 1f                	je     0x42bd35
42bd16:	eb 08                	jmp    0x42bd20
42bd18:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42bd1f:	90                   	nop
42bd20:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
42bd26:	8d 40 08             	lea    0x8(%eax),%eax
42bd29:	c7 40 fc 00 00 00 00 	movl   $0x0,-0x4(%eax)
42bd30:	83 e9 01             	sub    $0x1,%ecx
42bd33:	75 eb                	jne    0x42bd20
42bd35:	85 ff                	test   %edi,%edi
42bd37:	0f 84 b9 00 00 00    	je     0x42bdf6
42bd3d:	a1 30 f7 44 00       	mov    0x44f730,%eax
42bd42:	8b d0                	mov    %eax,%edx
42bd44:	3b c6                	cmp    %esi,%eax
42bd46:	76 09                	jbe    0x42bd51
42bd48:	8b c6                	mov    %esi,%eax
42bd4a:	8b d6                	mov    %esi,%edx
42bd4c:	a3 30 f7 44 00       	mov    %eax,0x44f730
42bd51:	33 c9                	xor    %ecx,%ecx
42bd53:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42bd56:	85 d2                	test   %edx,%edx
42bd58:	74 76                	je     0x42bdd0
42bd5a:	ba fc ff ff ff       	mov    $0xfffffffc,%edx
42bd5f:	83 c7 04             	add    $0x4,%edi
42bd62:	2b 55 f8             	sub    -0x8(%ebp),%edx
42bd65:	89 55 f4             	mov    %edx,-0xc(%ebp)
42bd68:	3b c8                	cmp    %eax,%ecx
42bd6a:	73 0b                	jae    0x42bd77
42bd6c:	8d 34 3a             	lea    (%edx,%edi,1),%esi
42bd6f:	03 35 38 f7 44 00    	add    0x44f738,%esi
42bd75:	eb 02                	jmp    0x42bd79
42bd77:	33 f6                	xor    %esi,%esi
42bd79:	8b 4e 04             	mov    0x4(%esi),%ecx
42bd7c:	85 c9                	test   %ecx,%ecx
42bd7e:	74 09                	je     0x42bd89
42bd80:	b8 01 00 00 00       	mov    $0x1,%eax
42bd85:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42bd89:	8b 0f                	mov    (%edi),%ecx
42bd8b:	85 c9                	test   %ecx,%ecx
42bd8d:	74 1e                	je     0x42bdad
42bd8f:	83 c8 ff             	or     $0xffffffff,%eax
42bd92:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42bd96:	83 e8 01             	sub    $0x1,%eax
42bd99:	75 12                	jne    0x42bdad
42bd9b:	8b 0f                	mov    (%edi),%ecx
42bd9d:	e8 ae e2 ff ff       	call   0x42a050
42bda2:	ff 37                	push   (%edi)
42bda4:	ff 15 34 21 45 00    	call   *0x452134
42bdaa:	8b 55 f4             	mov    -0xc(%ebp),%edx
42bdad:	8b 06                	mov    (%esi),%eax
42bdaf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42bdb2:	89 47 fc             	mov    %eax,-0x4(%edi)
42bdb5:	41                   	inc    %ecx
42bdb6:	8b 46 04             	mov    0x4(%esi),%eax
42bdb9:	89 07                	mov    %eax,(%edi)
42bdbb:	83 c7 08             	add    $0x8,%edi
42bdbe:	a1 30 f7 44 00       	mov    0x44f730,%eax
42bdc3:	89 4d fc             	mov    %ecx,-0x4(%ebp)
42bdc6:	3b c8                	cmp    %eax,%ecx
42bdc8:	72 a2                	jb     0x42bd6c
42bdca:	8b 75 08             	mov    0x8(%ebp),%esi
42bdcd:	8b 7d f8             	mov    -0x8(%ebp),%edi
42bdd0:	8b 0d 38 f7 44 00    	mov    0x44f738,%ecx
42bdd6:	85 c9                	test   %ecx,%ecx
42bdd8:	74 06                	je     0x42bde0
42bdda:	51                   	push   %ecx
42bddb:	e8 60 00 00 00       	call   0x42be40
42bde0:	89 3d 38 f7 44 00    	mov    %edi,0x44f738
42bde6:	33 c0                	xor    %eax,%eax
42bde8:	5f                   	pop    %edi
42bde9:	89 35 34 f7 44 00    	mov    %esi,0x44f734
42bdef:	5e                   	pop    %esi
42bdf0:	8b e5                	mov    %ebp,%esp
42bdf2:	5d                   	pop    %ebp
42bdf3:	c2 04 00             	ret    $0x4
42bdf6:	5f                   	pop    %edi
42bdf7:	b8 01 00 00 00       	mov    $0x1,%eax
42bdfc:	5e                   	pop    %esi
42bdfd:	8b e5                	mov    %ebp,%esp
42bdff:	5d                   	pop    %ebp
42be00:	c2 04 00             	ret    $0x4
42be03:	8b 0d 38 f7 44 00    	mov    0x44f738,%ecx
42be09:	85 c9                	test   %ecx,%ecx
42be0b:	74 06                	je     0x42be13
42be0d:	51                   	push   %ecx
42be0e:	e8 2d 00 00 00       	call   0x42be40
42be13:	c7 05 30 f7 44 00 00 	movl   $0x0,0x44f730
42be1a:	00 00 00
42be1d:	c7 05 34 f7 44 00 00 	movl   $0x0,0x44f734
42be24:	00 00 00
42be27:	c7 05 38 f7 44 00 00 	movl   $0x0,0x44f738
42be2e:	00 00 00
42be31:	5f                   	pop    %edi
42be32:	33 c0                	xor    %eax,%eax
42be34:	5e                   	pop    %esi
42be35:	8b e5                	mov    %ebp,%esp
42be37:	5d                   	pop    %ebp
42be38:	c2 04 00             	ret    $0x4
42be3b:	cc                   	int3
42be3c:	cc                   	int3
42be3d:	cc                   	int3
42be3e:	cc                   	int3
42be3f:	cc                   	int3
42be40:	8b ff                	mov    %edi,%edi
42be42:	53                   	push   %ebx
42be43:	56                   	push   %esi
42be44:	8d 59 fc             	lea    -0x4(%ecx),%ebx
42be47:	57                   	push   %edi
42be48:	8b 3b                	mov    (%ebx),%edi
42be4a:	8d 34 f9             	lea    (%ecx,%edi,8),%esi
42be4d:	85 ff                	test   %edi,%edi
42be4f:	74 39                	je     0x42be8a
42be51:	8b 4e fc             	mov    -0x4(%esi),%ecx
42be54:	8d 76 f8             	lea    -0x8(%esi),%esi
42be57:	4f                   	dec    %edi
42be58:	85 c9                	test   %ecx,%ecx
42be5a:	74 1d                	je     0x42be79
42be5c:	83 c8 ff             	or     $0xffffffff,%eax
42be5f:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42be63:	83 e8 01             	sub    $0x1,%eax
42be66:	75 11                	jne    0x42be79
42be68:	8b 4e 04             	mov    0x4(%esi),%ecx
42be6b:	e8 e0 e1 ff ff       	call   0x42a050
42be70:	ff 76 04             	push   0x4(%esi)
42be73:	ff 15 34 21 45 00    	call   *0x452134
42be79:	c7 06 ff ff ff ff    	movl   $0xffffffff,(%esi)
42be7f:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
42be86:	85 ff                	test   %edi,%edi
42be88:	75 c7                	jne    0x42be51
42be8a:	85 db                	test   %ebx,%ebx
42be8c:	74 19                	je     0x42bea7
42be8e:	53                   	push   %ebx
42be8f:	6a 00                	push   $0x0
42be91:	ff 35 00 12 45 00    	push   0x451200
42be97:	ff 15 18 21 45 00    	call   *0x452118
42be9d:	85 c0                	test   %eax,%eax
42be9f:	75 06                	jne    0x42bea7
42bea1:	ff 15 6c 20 45 00    	call   *0x45206c
42bea7:	5f                   	pop    %edi
42bea8:	5e                   	pop    %esi
42bea9:	8b c3                	mov    %ebx,%eax
42beab:	5b                   	pop    %ebx
42beac:	c2 04 00             	ret    $0x4
42beaf:	cc                   	int3
42beb0:	8b ff                	mov    %edi,%edi
42beb2:	55                   	push   %ebp
42beb3:	8b ec                	mov    %esp,%ebp
42beb5:	51                   	push   %ecx
42beb6:	53                   	push   %ebx
42beb7:	8b d9                	mov    %ecx,%ebx
42beb9:	56                   	push   %esi
42beba:	57                   	push   %edi
42bebb:	33 f6                	xor    %esi,%esi
42bebd:	8b 3b                	mov    (%ebx),%edi
42bebf:	8b d7                	mov    %edi,%edx
42bec1:	85 d2                	test   %edx,%edx
42bec3:	74 3c                	je     0x42bf01
42bec5:	8b 45 08             	mov    0x8(%ebp),%eax
42bec8:	8b 00                	mov    (%eax),%eax
42beca:	89 45 fc             	mov    %eax,-0x4(%ebp)
42becd:	8d 49 00             	lea    0x0(%ecx),%ecx
42bed0:	8b c2                	mov    %edx,%eax
42bed2:	2b c6                	sub    %esi,%eax
42bed4:	d1 e8                	shr    $1,%eax
42bed6:	03 c6                	add    %esi,%eax
42bed8:	3b c7                	cmp    %edi,%eax
42beda:	73 08                	jae    0x42bee4
42bedc:	8b 4b 08             	mov    0x8(%ebx),%ecx
42bedf:	8d 0c c1             	lea    (%ecx,%eax,8),%ecx
42bee2:	eb 02                	jmp    0x42bee6
42bee4:	33 c9                	xor    %ecx,%ecx
42bee6:	8b 09                	mov    (%ecx),%ecx
42bee8:	2b 4d fc             	sub    -0x4(%ebp),%ecx
42beeb:	78 0d                	js     0x42befa
42beed:	85 c9                	test   %ecx,%ecx
42beef:	75 05                	jne    0x42bef6
42bef1:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
42bef4:	75 04                	jne    0x42befa
42bef6:	8b d0                	mov    %eax,%edx
42bef8:	eb 03                	jmp    0x42befd
42befa:	8d 70 01             	lea    0x1(%eax),%esi
42befd:	3b f2                	cmp    %edx,%esi
42beff:	72 cf                	jb     0x42bed0
42bf01:	5f                   	pop    %edi
42bf02:	5e                   	pop    %esi
42bf03:	8b c2                	mov    %edx,%eax
42bf05:	5b                   	pop    %ebx
42bf06:	8b e5                	mov    %ebp,%esp
42bf08:	5d                   	pop    %ebp
42bf09:	c2 08 00             	ret    $0x8
42bf0c:	cc                   	int3
42bf0d:	cc                   	int3
42bf0e:	cc                   	int3
42bf0f:	cc                   	int3
42bf10:	8b ff                	mov    %edi,%edi
42bf12:	53                   	push   %ebx
42bf13:	8b dc                	mov    %esp,%ebx
42bf15:	83 ec 08             	sub    $0x8,%esp
42bf18:	83 e4 f8             	and    $0xfffffff8,%esp
42bf1b:	83 c4 04             	add    $0x4,%esp
42bf1e:	55                   	push   %ebp
42bf1f:	8b 6b 04             	mov    0x4(%ebx),%ebp
42bf22:	89 6c 24 04          	mov    %ebp,0x4(%esp)
42bf26:	8b ec                	mov    %esp,%ebp
42bf28:	83 ec 18             	sub    $0x18,%esp
42bf2b:	56                   	push   %esi
42bf2c:	57                   	push   %edi
42bf2d:	8b 7b 08             	mov    0x8(%ebx),%edi
42bf30:	33 c0                	xor    %eax,%eax
42bf32:	89 45 fc             	mov    %eax,-0x4(%ebp)
42bf35:	8d 47 01             	lea    0x1(%edi),%eax
42bf38:	89 45 f0             	mov    %eax,-0x10(%ebp)
42bf3b:	89 45 f8             	mov    %eax,-0x8(%ebp)
42bf3e:	3b 43 0c             	cmp    0xc(%ebx),%eax
42bf41:	0f 83 17 02 00 00    	jae    0x42c15e
42bf47:	8b 0d 38 f7 44 00    	mov    0x44f738,%ecx
42bf4d:	8d 49 00             	lea    0x0(%ecx),%ecx
42bf50:	8b 15 30 f7 44 00    	mov    0x44f730,%edx
42bf56:	3b c2                	cmp    %edx,%eax
42bf58:	73 05                	jae    0x42bf5f
42bf5a:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
42bf5d:	eb 02                	jmp    0x42bf61
42bf5f:	33 f6                	xor    %esi,%esi
42bf61:	3b fa                	cmp    %edx,%edi
42bf63:	73 05                	jae    0x42bf6a
42bf65:	8d 04 f9             	lea    (%ecx,%edi,8),%eax
42bf68:	eb 02                	jmp    0x42bf6c
42bf6a:	33 c0                	xor    %eax,%eax
42bf6c:	8b 00                	mov    (%eax),%eax
42bf6e:	2b 06                	sub    (%esi),%eax
42bf70:	85 c0                	test   %eax,%eax
42bf72:	0f 8e b3 01 00 00    	jle    0x42c12b
42bf78:	8b 45 f8             	mov    -0x8(%ebp),%eax
42bf7b:	3b c2                	cmp    %edx,%eax
42bf7d:	73 05                	jae    0x42bf84
42bf7f:	8d 34 c1             	lea    (%ecx,%eax,8),%esi
42bf82:	eb 02                	jmp    0x42bf86
42bf84:	33 f6                	xor    %esi,%esi
42bf86:	8b 56 04             	mov    0x4(%esi),%edx
42bf89:	85 d2                	test   %edx,%edx
42bf8b:	74 0f                	je     0x42bf9c
42bf8d:	b8 01 00 00 00       	mov    $0x1,%eax
42bf92:	f0 0f c1 02          	lock xadd %eax,(%edx)
42bf96:	8b 0d 38 f7 44 00    	mov    0x44f738,%ecx
42bf9c:	8b 55 fc             	mov    -0x4(%ebp),%edx
42bf9f:	85 d2                	test   %edx,%edx
42bfa1:	74 23                	je     0x42bfc6
42bfa3:	83 c8 ff             	or     $0xffffffff,%eax
42bfa6:	f0 0f c1 02          	lock xadd %eax,(%edx)
42bfaa:	83 e8 01             	sub    $0x1,%eax
42bfad:	75 11                	jne    0x42bfc0
42bfaf:	8b ca                	mov    %edx,%ecx
42bfb1:	e8 9a e0 ff ff       	call   0x42a050
42bfb6:	8b 45 fc             	mov    -0x4(%ebp),%eax
42bfb9:	50                   	push   %eax
42bfba:	ff 15 34 21 45 00    	call   *0x452134
42bfc0:	8b 0d 38 f7 44 00    	mov    0x44f738,%ecx
42bfc6:	8b 06                	mov    (%esi),%eax
42bfc8:	89 45 ec             	mov    %eax,-0x14(%ebp)
42bfcb:	8b 46 04             	mov    0x4(%esi),%eax
42bfce:	89 45 fc             	mov    %eax,-0x4(%ebp)
42bfd1:	a1 30 f7 44 00       	mov    0x44f730,%eax
42bfd6:	3b f8                	cmp    %eax,%edi
42bfd8:	73 05                	jae    0x42bfdf
42bfda:	8d 14 f9             	lea    (%ecx,%edi,8),%edx
42bfdd:	eb 02                	jmp    0x42bfe1
42bfdf:	33 d2                	xor    %edx,%edx
42bfe1:	8b 75 f8             	mov    -0x8(%ebp),%esi
42bfe4:	89 55 f4             	mov    %edx,-0xc(%ebp)
42bfe7:	3b f0                	cmp    %eax,%esi
42bfe9:	73 05                	jae    0x42bff0
42bfeb:	8d 34 f1             	lea    (%ecx,%esi,8),%esi
42bfee:	eb 02                	jmp    0x42bff2
42bff0:	33 f6                	xor    %esi,%esi
42bff2:	8b 4a 04             	mov    0x4(%edx),%ecx
42bff5:	85 c9                	test   %ecx,%ecx
42bff7:	74 09                	je     0x42c002
42bff9:	b8 01 00 00 00       	mov    $0x1,%eax
42bffe:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42c002:	8b 4e 04             	mov    0x4(%esi),%ecx
42c005:	85 c9                	test   %ecx,%ecx
42c007:	74 20                	je     0x42c029
42c009:	83 c8 ff             	or     $0xffffffff,%eax
42c00c:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42c010:	83 e8 01             	sub    $0x1,%eax
42c013:	75 14                	jne    0x42c029