43ffa9:	e8 e2 f9 ff ff       	call   0x43f990
43ffae:	8d 5e 24             	lea    0x24(%esi),%ebx
43ffb1:	eb 06                	jmp    0x43ffb9
43ffb3:	89 5d 90             	mov    %ebx,-0x70(%ebp)
43ffb6:	89 55 94             	mov    %edx,-0x6c(%ebp)
43ffb9:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
43ffbd:	0f 84 94 01 00 00    	je     0x440157
43ffc3:	80 3b 00             	cmpb   $0x0,(%ebx)
43ffc6:	75 1c                	jne    0x43ffe4
43ffc8:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
43ffcc:	75 16                	jne    0x43ffe4
43ffce:	8b 06                	mov    (%esi),%eax
43ffd0:	6a 00                	push   $0x0
43ffd2:	8b b8 c4 00 00 00    	mov    0xc4(%eax),%edi
43ffd8:	8b cf                	mov    %edi,%ecx
43ffda:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43ffe0:	8b ce                	mov    %esi,%ecx
43ffe2:	ff d7                	call   *%edi
43ffe4:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
43ffe7:	8b 03                	mov    (%ebx),%eax
43ffe9:	89 45 e8             	mov    %eax,-0x18(%ebp)
43ffec:	85 c0                	test   %eax,%eax
43ffee:	74 07                	je     0x43fff7
43fff0:	8b c8                	mov    %eax,%ecx
43fff2:	e8 69 c0 01 00       	call   0x45c060
43fff7:	89 45 ac             	mov    %eax,-0x54(%ebp)
43fffa:	89 45 ec             	mov    %eax,-0x14(%ebp)
43fffd:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
440004:	8b 46 38             	mov    0x38(%esi),%eax
440007:	0f af 46 34          	imul   0x34(%esi),%eax
44000b:	8b 56 40             	mov    0x40(%esi),%edx
44000e:	8b 4e 30             	mov    0x30(%esi),%ecx
440011:	89 55 a4             	mov    %edx,-0x5c(%ebp)
440014:	89 45 a8             	mov    %eax,-0x58(%ebp)
440017:	8b 46 2c             	mov    0x2c(%esi),%eax
44001a:	2b c2                	sub    %edx,%eax
44001c:	8b 56 3c             	mov    0x3c(%esi),%edx
44001f:	03 c8                	add    %eax,%ecx
440021:	8d 46 3c             	lea    0x3c(%esi),%eax
440024:	3b d1                	cmp    %ecx,%edx
440026:	89 4d 98             	mov    %ecx,-0x68(%ebp)
440029:	89 45 a0             	mov    %eax,-0x60(%ebp)
44002c:	8d 4e 3c             	lea    0x3c(%esi),%ecx
44002f:	8d 45 98             	lea    -0x68(%ebp),%eax
440032:	0f 42 c1             	cmovb  %ecx,%eax
440035:	8b 4d a8             	mov    -0x58(%ebp),%ecx
440038:	39 08                	cmp    %ecx,(%eax)
44003a:	0f 42 08             	cmovb  (%eax),%ecx
44003d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
440040:	03 c1                	add    %ecx,%eax
440042:	89 4d a8             	mov    %ecx,-0x58(%ebp)
440045:	2b d1                	sub    %ecx,%edx
440047:	89 46 40             	mov    %eax,0x40(%esi)
44004a:	89 56 3c             	mov    %edx,0x3c(%esi)
44004d:	8b 56 30             	mov    0x30(%esi),%edx
440050:	89 45 98             	mov    %eax,-0x68(%ebp)
440053:	74 0a                	je     0x44005f
440055:	8b 46 2c             	mov    0x2c(%esi),%eax
440058:	03 c2                	add    %edx,%eax
44005a:	39 45 98             	cmp    %eax,-0x68(%ebp)
44005d:	75 03                	jne    0x440062
44005f:	89 56 40             	mov    %edx,0x40(%esi)
440062:	51                   	push   %ecx
440063:	ff 75 a4             	push   -0x5c(%ebp)
440066:	ff 75 ac             	push   -0x54(%ebp)
440069:	e8 b2 b5 02 00       	call   0x46b620
44006e:	ff 76 3c             	push   0x3c(%esi)
440071:	8b 45 a8             	mov    -0x58(%ebp),%eax
440074:	ff 76 40             	push   0x40(%esi)
440077:	8b 7d ac             	mov    -0x54(%ebp),%edi
44007a:	03 c7                	add    %edi,%eax
44007c:	50                   	push   %eax
44007d:	e8 9e b5 02 00       	call   0x46b620
440082:	8b 45 a0             	mov    -0x60(%ebp),%eax
440085:	83 c4 18             	add    $0x18,%esp
440088:	ff 75 e8             	push   -0x18(%ebp)
44008b:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
440091:	8b 06                	mov    (%esi),%eax
440093:	57                   	push   %edi
440094:	8b b8 d4 00 00 00    	mov    0xd4(%eax),%edi
44009a:	8b cf                	mov    %edi,%ecx
44009c:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4400a2:	8b ce                	mov    %esi,%ecx
4400a4:	ff d7                	call   *%edi
4400a6:	8b 45 90             	mov    -0x70(%ebp),%eax
4400a9:	c6 00 00             	movb   $0x0,(%eax)
4400ac:	8b 46 18             	mov    0x18(%esi),%eax
4400af:	8b 4e 2c             	mov    0x2c(%esi),%ecx
4400b2:	8b 56 30             	mov    0x30(%esi),%edx
4400b5:	89 45 90             	mov    %eax,-0x70(%ebp)
4400b8:	3b c8                	cmp    %eax,%ecx
4400ba:	74 26                	je     0x4400e2
4400bc:	8b fa                	mov    %edx,%edi
4400be:	32 c0                	xor    %al,%al
4400c0:	f3 aa                	rep stos %al,%es:(%edi)
4400c2:	52                   	push   %edx
4400c3:	e8 ba 95 03 00       	call   0x479682
4400c8:	8b 45 90             	mov    -0x70(%ebp),%eax
4400cb:	83 c4 04             	add    $0x4,%esp
4400ce:	85 c0                	test   %eax,%eax
4400d0:	75 04                	jne    0x4400d6
4400d2:	33 d2                	xor    %edx,%edx
4400d4:	eb 0c                	jmp    0x4400e2
4400d6:	8b c8                	mov    %eax,%ecx
4400d8:	e8 83 bf 01 00       	call   0x45c060
4400dd:	8b d0                	mov    %eax,%edx
4400df:	8b 45 90             	mov    -0x70(%ebp),%eax
4400e2:	89 56 30             	mov    %edx,0x30(%esi)
4400e5:	89 46 2c             	mov    %eax,0x2c(%esi)
4400e8:	89 46 38             	mov    %eax,0x38(%esi)
4400eb:	8b 46 30             	mov    0x30(%esi),%eax
4400ee:	c7 46 34 01 00 00 00 	movl   $0x1,0x34(%esi)
4400f5:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
4400fb:	89 46 40             	mov    %eax,0x40(%esi)
4400fe:	8b 06                	mov    (%esi),%eax
440100:	8b b8 a4 00 00 00    	mov    0xa4(%eax),%edi
440106:	8b cf                	mov    %edi,%ecx
440108:	ff 15 d4 e2 49 00    	call   *0x49e2d4
44010e:	8b ce                	mov    %esi,%ecx
440110:	ff d7                	call   *%edi
440112:	ff 75 14             	push   0x14(%ebp)
440115:	8b 4d 10             	mov    0x10(%ebp),%ecx
440118:	8b d8                	mov    %eax,%ebx
44011a:	49                   	dec    %ecx
44011b:	51                   	push   %ecx
44011c:	6a 00                	push   $0x0
44011e:	8b 3b                	mov    (%ebx),%edi
440120:	6a 00                	push   $0x0
440122:	68 40 4e 4c 00       	push   $0x4c4e40
440127:	8b bf 88 00 00 00    	mov    0x88(%edi),%edi
44012d:	8b cf                	mov    %edi,%ecx
44012f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
440135:	8b cb                	mov    %ebx,%ecx
440137:	ff d7                	call   *%edi
440139:	8b 55 ac             	mov    -0x54(%ebp),%edx
44013c:	f7 d8                	neg    %eax
44013e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
440141:	8b fa                	mov    %edx,%edi
440143:	1b c0                	sbb    %eax,%eax
440145:	f7 d8                	neg    %eax
440147:	89 46 14             	mov    %eax,0x14(%esi)
44014a:	32 c0                	xor    %al,%al
44014c:	f3 aa                	rep stos %al,%es:(%edi)
44014e:	52                   	push   %edx
44014f:	e8 2e 95 03 00       	call   0x479682
440154:	83 c4 04             	add    $0x4,%esp
440157:	33 c0                	xor    %eax,%eax
440159:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44015c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
440163:	59                   	pop    %ecx
440164:	5f                   	pop    %edi
440165:	5e                   	pop    %esi
440166:	5b                   	pop    %ebx
440167:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44016a:	33 cd                	xor    %ebp,%ecx
44016c:	e8 59 98 02 00       	call   0x4699ca
440171:	8b e5                	mov    %ebp,%esp
440173:	5d                   	pop    %ebp
440174:	c2 14 00             	ret    $0x14
440177:	68 f0 64 4b 00       	push   $0x4b64f0
44017c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
44017f:	e8 bc ae fc ff       	call   0x40b040
440184:	8d 45 d8             	lea    -0x28(%ebp),%eax
440187:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
44018e:	50                   	push   %eax
44018f:	8d 4d b0             	lea    -0x50(%ebp),%ecx
440192:	e8 39 0c 00 00       	call   0x440dd0
440197:	68 98 21 4c 00       	push   $0x4c2198
44019c:	8d 45 b0             	lea    -0x50(%ebp),%eax
44019f:	50                   	push   %eax
4401a0:	e8 09 b4 02 00       	call   0x46b5ae
4401a5:	cc                   	int3
4401a6:	cc                   	int3
4401a7:	cc                   	int3
4401a8:	cc                   	int3
4401a9:	cc                   	int3
4401aa:	cc                   	int3
4401ab:	cc                   	int3
4401ac:	cc                   	int3
4401ad:	cc                   	int3
4401ae:	cc                   	int3
4401af:	cc                   	int3
4401b0:	83 ec 10             	sub    $0x10,%esp
4401b3:	56                   	push   %esi
4401b4:	8b f1                	mov    %ecx,%esi
4401b6:	80 7e 24 00          	cmpb   $0x0,0x24(%esi)
4401ba:	0f 84 01 01 00 00    	je     0x4402c1
4401c0:	8b 46 1c             	mov    0x1c(%esi),%eax
4401c3:	89 44 24 04          	mov    %eax,0x4(%esp)
4401c7:	53                   	push   %ebx
4401c8:	8b 5e 3c             	mov    0x3c(%esi),%ebx
4401cb:	55                   	push   %ebp
4401cc:	8d 6e 3c             	lea    0x3c(%esi),%ebp
4401cf:	57                   	push   %edi
4401d0:	83 f8 01             	cmp    $0x1,%eax
4401d3:	76 6c                	jbe    0x440241
4401d5:	3b d8                	cmp    %eax,%ebx
4401d7:	0f 82 e1 00 00 00    	jb     0x4402be
4401dd:	0f 1f 00             	nopl   (%eax)
4401e0:	8b 6e 34             	mov    0x34(%esi),%ebp
4401e3:	3b dd                	cmp    %ebp,%ebx
4401e5:	72 29                	jb     0x440210
4401e7:	8b 46 40             	mov    0x40(%esi),%eax
4401ea:	89 44 24 14          	mov    %eax,0x14(%esp)
4401ee:	8d 3c 28             	lea    (%eax,%ebp,1),%edi
4401f1:	89 7e 40             	mov    %edi,0x40(%esi)
4401f4:	8b cf                	mov    %edi,%ecx
4401f6:	8b 46 2c             	mov    0x2c(%esi),%eax
4401f9:	03 46 30             	add    0x30(%esi),%eax
4401fc:	3b f8                	cmp    %eax,%edi
4401fe:	0f 44 4e 30          	cmove  0x30(%esi),%ecx
440202:	2b dd                	sub    %ebp,%ebx
440204:	89 4e 40             	mov    %ecx,0x40(%esi)
440207:	8b 4c 24 14          	mov    0x14(%esp),%ecx
44020b:	89 5e 3c             	mov    %ebx,0x3c(%esi)
44020e:	eb 02                	jmp    0x440212
440210:	33 c9                	xor    %ecx,%ecx
440212:	8b 06                	mov    (%esi),%eax
440214:	ff 74 24 10          	push   0x10(%esp)
440218:	51                   	push   %ecx
440219:	8b b8 d0 00 00 00    	mov    0xd0(%eax),%edi
44021f:	8b cf                	mov    %edi,%ecx
440221:	ff 15 d4 e2 49 00    	call   *0x49e2d4
440227:	8b ce                	mov    %esi,%ecx
440229:	ff d7                	call   *%edi
44022b:	8b 46 1c             	mov    0x1c(%esi),%eax
44022e:	8b 5e 3c             	mov    0x3c(%esi),%ebx
440231:	89 44 24 10          	mov    %eax,0x10(%esp)
440235:	3b d8                	cmp    %eax,%ebx
440237:	73 a7                	jae    0x4401e0
440239:	5f                   	pop    %edi
44023a:	5d                   	pop    %ebp
44023b:	5b                   	pop    %ebx
44023c:	5e                   	pop    %esi
44023d:	83 c4 10             	add    $0x10,%esp
440240:	c3                   	ret
440241:	85 db                	test   %ebx,%ebx
440243:	74 79                	je     0x4402be
440245:	8b fb                	mov    %ebx,%edi
440247:	89 5c 24 10          	mov    %ebx,0x10(%esp)
44024b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
440250:	8b 46 2c             	mov    0x2c(%esi),%eax
440253:	8b 4e 40             	mov    0x40(%esi),%ecx
440256:	8b 56 30             	mov    0x30(%esi),%edx
440259:	89 44 24 1c          	mov    %eax,0x1c(%esp)
44025d:	2b c1                	sub    %ecx,%eax
44025f:	03 c2                	add    %edx,%eax
440261:	89 4c 24 18          	mov    %ecx,0x18(%esp)
440265:	39 44 24 10          	cmp    %eax,0x10(%esp)
440269:	8d 4c 24 14          	lea    0x14(%esp),%ecx
44026d:	89 44 24 14          	mov    %eax,0x14(%esp)
440271:	8b 44 24 10          	mov    0x10(%esp),%eax
440275:	0f 42 cd             	cmovb  %ebp,%ecx
440278:	39 19                	cmp    %ebx,(%ecx)
44027a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
44027e:	0f 42 39             	cmovb  (%ecx),%edi
440281:	2b c7                	sub    %edi,%eax
440283:	89 45 00             	mov    %eax,0x0(%ebp)
440286:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
440289:	89 4e 40             	mov    %ecx,0x40(%esi)
44028c:	74 0a                	je     0x440298
44028e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
440292:	03 c2                	add    %edx,%eax
440294:	3b c8                	cmp    %eax,%ecx
440296:	75 03                	jne    0x44029b
440298:	89 56 40             	mov    %edx,0x40(%esi)
44029b:	8b 06                	mov    (%esi),%eax
44029d:	57                   	push   %edi
44029e:	53                   	push   %ebx
44029f:	8b b8 d0 00 00 00    	mov    0xd0(%eax),%edi
4402a5:	8b cf                	mov    %edi,%ecx
4402a7:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4402ad:	8b ce                	mov    %esi,%ecx
4402af:	ff d7                	call   *%edi
4402b1:	8b 5d 00             	mov    0x0(%ebp),%ebx
4402b4:	8b fb                	mov    %ebx,%edi
4402b6:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4402ba:	85 db                	test   %ebx,%ebx
4402bc:	75 92                	jne    0x440250
4402be:	5f                   	pop    %edi
4402bf:	5d                   	pop    %ebp
4402c0:	5b                   	pop    %ebx
4402c1:	5e                   	pop    %esi
4402c2:	83 c4 10             	add    $0x10,%esp
4402c5:	c3                   	ret
4402c6:	cc                   	int3
4402c7:	cc                   	int3
4402c8:	cc                   	int3
4402c9:	cc                   	int3
4402ca:	cc                   	int3
4402cb:	cc                   	int3
4402cc:	cc                   	int3
4402cd:	cc                   	int3
4402ce:	cc                   	int3
4402cf:	cc                   	int3
4402d0:	55                   	push   %ebp
4402d1:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
4402d5:	57                   	push   %edi
4402d6:	8b f9                	mov    %ecx,%edi
4402d8:	85 ed                	test   %ebp,%ebp
4402da:	74 25                	je     0x440301
4402dc:	53                   	push   %ebx
4402dd:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4402e1:	56                   	push   %esi
4402e2:	8b 07                	mov    (%edi),%eax
4402e4:	53                   	push   %ebx
4402e5:	8b b0 c8 00 00 00    	mov    0xc8(%eax),%esi
4402eb:	8b ce                	mov    %esi,%ecx
4402ed:	ff 15 d4 e2 49 00    	call   *0x49e2d4
4402f3:	8b cf                	mov    %edi,%ecx
4402f5:	ff d6                	call   *%esi
4402f7:	03 5f 1c             	add    0x1c(%edi),%ebx
4402fa:	2b 6f 1c             	sub    0x1c(%edi),%ebp
4402fd:	75 e3                	jne    0x4402e2
4402ff:	5e                   	pop    %esi
440300:	5b                   	pop    %ebx
440301:	5f                   	pop    %edi
440302:	5d                   	pop    %ebp
440303:	c2 08 00             	ret    $0x8
440306:	cc                   	int3
440307:	cc                   	int3
440308:	cc                   	int3
440309:	cc                   	int3
44030a:	cc                   	int3
44030b:	cc                   	int3
44030c:	cc                   	int3
44030d:	cc                   	int3
44030e:	cc                   	int3
44030f:	cc                   	int3
440310:	55                   	push   %ebp
440311:	8b ec                	mov    %esp,%ebp
440313:	6a ff                	push   $0xffffffff
440315:	68 f3 aa 49 00       	push   $0x49aaf3
44031a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
440320:	50                   	push   %eax
440321:	83 ec 4c             	sub    $0x4c,%esp
440324:	a1 14 40 4c 00       	mov    0x4c4014,%eax
440329:	33 c5                	xor    %ebp,%eax
44032b:	89 45 f0             	mov    %eax,-0x10(%ebp)
44032e:	53                   	push   %ebx
44032f:	56                   	push   %esi
440330:	57                   	push   %edi
440331:	50                   	push   %eax
440332:	8d 45 f4             	lea    -0xc(%ebp),%eax
440335:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
44033b:	8b d9                	mov    %ecx,%ebx
44033d:	89 5d ac             	mov    %ebx,-0x54(%ebp)
440340:	8b 45 14             	mov    0x14(%ebp),%eax
440343:	89 5d a8             	mov    %ebx,-0x58(%ebp)
440346:	89 43 0c             	mov    %eax,0xc(%ebx)