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
42c015:	8b 4e 04             	mov    0x4(%esi),%ecx
42c018:	e8 33 e0 ff ff       	call   0x42a050
42c01d:	ff 76 04             	push   0x4(%esi)
42c020:	ff 15 34 21 45 00    	call   *0x452134
42c026:	8b 55 f4             	mov    -0xc(%ebp),%edx
42c029:	8b 02                	mov    (%edx),%eax
42c02b:	89 06                	mov    %eax,(%esi)
42c02d:	8b 42 04             	mov    0x4(%edx),%eax
42c030:	89 46 04             	mov    %eax,0x4(%esi)
42c033:	3b 7d f0             	cmp    -0x10(%ebp),%edi
42c036:	0f 82 94 00 00 00    	jb     0x42c0d0
42c03c:	8d 64 24 00          	lea    0x0(%esp),%esp
42c040:	8b 15 30 f7 44 00    	mov    0x44f730,%edx
42c046:	8b 35 38 f7 44 00    	mov    0x44f738,%esi
42c04c:	89 7d e8             	mov    %edi,-0x18(%ebp)
42c04f:	4f                   	dec    %edi
42c050:	8d 0c fd 00 00 00 00 	lea    0x0(,%edi,8),%ecx
42c057:	3b fa                	cmp    %edx,%edi
42c059:	73 05                	jae    0x42c060
42c05b:	8d 04 31             	lea    (%ecx,%esi,1),%eax
42c05e:	eb 02                	jmp    0x42c062
42c060:	33 c0                	xor    %eax,%eax
42c062:	8b 00                	mov    (%eax),%eax
42c064:	2b 45 ec             	sub    -0x14(%ebp),%eax
42c067:	85 c0                	test   %eax,%eax
42c069:	7e 72                	jle    0x42c0dd
42c06b:	3b fa                	cmp    %edx,%edi
42c06d:	73 04                	jae    0x42c073
42c06f:	03 ce                	add    %esi,%ecx
42c071:	eb 02                	jmp    0x42c075
42c073:	33 c9                	xor    %ecx,%ecx
42c075:	8b 45 e8             	mov    -0x18(%ebp),%eax
42c078:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42c07b:	3b c2                	cmp    %edx,%eax
42c07d:	73 05                	jae    0x42c084
42c07f:	8d 34 c6             	lea    (%esi,%eax,8),%esi
42c082:	eb 02                	jmp    0x42c086
42c084:	33 f6                	xor    %esi,%esi
42c086:	8b 51 04             	mov    0x4(%ecx),%edx
42c089:	85 d2                	test   %edx,%edx
42c08b:	74 09                	je     0x42c096
42c08d:	b8 01 00 00 00       	mov    $0x1,%eax
42c092:	f0 0f c1 02          	lock xadd %eax,(%edx)
42c096:	8b 56 04             	mov    0x4(%esi),%edx
42c099:	85 d2                	test   %edx,%edx
42c09b:	74 20                	je     0x42c0bd
42c09d:	83 c8 ff             	or     $0xffffffff,%eax
42c0a0:	f0 0f c1 02          	lock xadd %eax,(%edx)
42c0a4:	83 e8 01             	sub    $0x1,%eax
42c0a7:	75 14                	jne    0x42c0bd
42c0a9:	8b 4e 04             	mov    0x4(%esi),%ecx
42c0ac:	e8 9f df ff ff       	call   0x42a050
42c0b1:	ff 76 04             	push   0x4(%esi)
42c0b4:	ff 15 34 21 45 00    	call   *0x452134
42c0ba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42c0bd:	8b 01                	mov    (%ecx),%eax
42c0bf:	89 06                	mov    %eax,(%esi)
42c0c1:	8b 41 04             	mov    0x4(%ecx),%eax
42c0c4:	89 46 04             	mov    %eax,0x4(%esi)
42c0c7:	3b 7d f0             	cmp    -0x10(%ebp),%edi
42c0ca:	0f 83 70 ff ff ff    	jae    0x42c040
42c0d0:	8b 35 38 f7 44 00    	mov    0x44f738,%esi
42c0d6:	4f                   	dec    %edi
42c0d7:	8b 15 30 f7 44 00    	mov    0x44f730,%edx
42c0dd:	47                   	inc    %edi
42c0de:	3b fa                	cmp    %edx,%edi
42c0e0:	73 05                	jae    0x42c0e7
42c0e2:	8d 34 fe             	lea    (%esi,%edi,8),%esi
42c0e5:	eb 02                	jmp    0x42c0e9
42c0e7:	33 f6                	xor    %esi,%esi
42c0e9:	8b 7d fc             	mov    -0x4(%ebp),%edi
42c0ec:	85 ff                	test   %edi,%edi
42c0ee:	74 09                	je     0x42c0f9
42c0f0:	b8 01 00 00 00       	mov    $0x1,%eax
42c0f5:	f0 0f c1 07          	lock xadd %eax,(%edi)
42c0f9:	8b 4e 04             	mov    0x4(%esi),%ecx
42c0fc:	85 c9                	test   %ecx,%ecx
42c0fe:	74 1d                	je     0x42c11d
42c100:	83 c8 ff             	or     $0xffffffff,%eax
42c103:	f0 0f c1 01          	lock xadd %eax,(%ecx)
42c107:	83 e8 01             	sub    $0x1,%eax
42c10a:	75 11                	jne    0x42c11d
42c10c:	8b 4e 04             	mov    0x4(%esi),%ecx
42c10f:	e8 3c df ff ff       	call   0x42a050
42c114:	ff 76 04             	push   0x4(%esi)
42c117:	ff 15 34 21 45 00    	call   *0x452134
42c11d:	8b 45 ec             	mov    -0x14(%ebp),%eax
42c120:	89 06                	mov    %eax,(%esi)
42c122:	89 7e 04             	mov    %edi,0x4(%esi)
42c125:	8b 0d 38 f7 44 00    	mov    0x44f738,%ecx
42c12b:	8b 45 f8             	mov    -0x8(%ebp),%eax
42c12e:	8b f8                	mov    %eax,%edi
42c130:	40                   	inc    %eax
42c131:	89 45 f8             	mov    %eax,-0x8(%ebp)
42c134:	3b 43 0c             	cmp    0xc(%ebx),%eax
42c137:	0f 82 13 fe ff ff    	jb     0x42bf50
42c13d:	8b 75 fc             	mov    -0x4(%ebp),%esi
42c140:	85 f6                	test   %esi,%esi
42c142:	74 1a                	je     0x42c15e
42c144:	83 c8 ff             	or     $0xffffffff,%eax
42c147:	f0 0f c1 06          	lock xadd %eax,(%esi)
42c14b:	83 e8 01             	sub    $0x1,%eax
42c14e:	75 0e                	jne    0x42c15e
42c150:	8b ce                	mov    %esi,%ecx
42c152:	e8 f9 de ff ff       	call   0x42a050
42c157:	56                   	push   %esi
42c158:	ff 15 34 21 45 00    	call   *0x452134
42c15e:	5f                   	pop    %edi
42c15f:	5e                   	pop    %esi
42c160:	8b e5                	mov    %ebp,%esp
42c162:	5d                   	pop    %ebp
42c163:	8b e3                	mov    %ebx,%esp
42c165:	5b                   	pop    %ebx
42c166:	c2 08 00             	ret    $0x8
42c169:	cc                   	int3
42c16a:	cc                   	int3
42c16b:	cc                   	int3
42c16c:	cc                   	int3
42c16d:	cc                   	int3
42c16e:	cc                   	int3
42c16f:	cc                   	int3
42c170:	8b ff                	mov    %edi,%edi
42c172:	53                   	push   %ebx
42c173:	8b dc                	mov    %esp,%ebx
42c175:	83 ec 08             	sub    $0x8,%esp
42c178:	83 e4 f8             	and    $0xfffffff8,%esp
42c17b:	83 c4 04             	add    $0x4,%esp
42c17e:	55                   	push   %ebp
42c17f:	8b 6b 04             	mov    0x4(%ebx),%ebp
42c182:	89 6c 24 04          	mov    %ebp,0x4(%esp)
42c186:	8b ec                	mov    %esp,%ebp
42c188:	81 ec a8 00 00 00    	sub    $0xa8,%esp
42c18e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
42c193:	33 c5                	xor    %ebp,%eax
42c195:	89 45 fc             	mov    %eax,-0x4(%ebp)
42c198:	8b 43 08             	mov    0x8(%ebx),%eax
42c19b:	8b 4b 0c             	mov    0xc(%ebx),%ecx
42c19e:	56                   	push   %esi
42c19f:	57                   	push   %edi
42c1a0:	33 f6                	xor    %esi,%esi
42c1a2:	89 b5 5c ff ff ff    	mov    %esi,-0xa4(%ebp)
42c1a8:	8b d1                	mov    %ecx,%edx
42c1aa:	2b d0                	sub    %eax,%edx
42c1ac:	83 fa 20             	cmp    $0x20,%edx
42c1af:	73 26                	jae    0x42c1d7
42c1b1:	51                   	push   %ecx
42c1b2:	50                   	push   %eax
42c1b3:	e8 58 fd ff ff       	call   0x42bf10
42c1b8:	85 f6                	test   %esi,%esi
42c1ba:	0f 84 e7 09 00 00    	je     0x42cba7
42c1c0:	8b 84 f5 70 ff ff ff 	mov    -0x90(%ebp,%esi,8),%eax
42c1c7:	4e                   	dec    %esi
42c1c8:	89 43 08             	mov    %eax,0x8(%ebx)
42c1cb:	8b 8c f5 7c ff ff ff 	mov    -0x84(%ebp,%esi,8),%ecx
42c1d2:	89 4b 0c             	mov    %ecx,0xc(%ebx)
42c1d5:	eb cb                	jmp    0x42c1a2
42c1d7:	d1 ea                	shr    $1,%edx
42c1d9:	8d 71 ff             	lea    -0x1(%ecx),%esi
42c1dc:	8b 0d 30 f7 44 00    	mov    0x44f730,%ecx
42c1e2:	03 d0                	add    %eax,%edx
42c1e4:	89 95 64 ff ff ff    	mov    %edx,-0x9c(%ebp)
42c1ea:	3b d1                	cmp    %ecx,%edx
42c1ec:	8b 15 38 f7 44 00    	mov    0x44f738,%edx
42c1f2:	8b f8                	mov    %eax,%edi
42c1f4:	73 14                	jae    0x42c20a
42c1f6:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
42c1fc:	8d 04 c2             	lea    (%edx,%eax,8),%eax
42c1ff:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
42c205:	8b 43 08             	mov    0x8(%ebx),%eax
42c208:	eb 0a                	jmp    0x42c214
42c20a:	c7 85 74 ff ff ff 00 	movl   $0x0,-0x8c(%ebp)
42c211:	00 00 00
42c214:	3b c1                	cmp    %ecx,%eax
42c216:	73 05                	jae    0x42c21d
42c218:	8d 04 c2             	lea    (%edx,%eax,8),%eax