41810d:	ff 75 fc             	push   -0x4(%ebp)
418110:	8b f0                	mov    %eax,%esi
418112:	ff 15 14 a4 43 00    	call   *0x43a414
418118:	59                   	pop    %ecx
418119:	5f                   	pop    %edi
41811a:	8b c6                	mov    %esi,%eax
41811c:	5e                   	pop    %esi
41811d:	c9                   	leave
41811e:	c2 08 00             	ret    $0x8
418121:	8b ff                	mov    %edi,%edi
418123:	55                   	push   %ebp
418124:	8b ec                	mov    %esp,%ebp
418126:	8b 55 08             	mov    0x8(%ebp),%edx
418129:	53                   	push   %ebx
41812a:	56                   	push   %esi
41812b:	57                   	push   %edi
41812c:	8b f9                	mov    %ecx,%edi
41812e:	51                   	push   %ecx
41812f:	8d 4f 0c             	lea    0xc(%edi),%ecx
418132:	e8 2b 00 00 00       	call   0x418162
418137:	8b f0                	mov    %eax,%esi
418139:	85 f6                	test   %esi,%esi
41813b:	78 13                	js     0x418150
41813d:	6a 00                	push   $0x0
41813f:	ff 77 0c             	push   0xc(%edi)
418142:	6a 01                	push   $0x1
418144:	ff 37                	push   (%edi)
418146:	ff 15 d4 a3 43 00    	call   *0x43a3d4
41814c:	85 c0                	test   %eax,%eax
41814e:	74 09                	je     0x418159
418150:	5f                   	pop    %edi
418151:	8b c6                	mov    %esi,%eax
418153:	5e                   	pop    %esi
418154:	5b                   	pop    %ebx
418155:	5d                   	pop    %ebp
418156:	c2 08 00             	ret    $0x8
418159:	e8 85 05 00 00       	call   0x4186e3
41815e:	8b f0                	mov    %eax,%esi
418160:	eb ee                	jmp    0x418150
418162:	8b ff                	mov    %edi,%edi
418164:	55                   	push   %ebp
418165:	8b ec                	mov    %esp,%ebp
418167:	83 ec 1c             	sub    $0x1c,%esp
41816a:	a1 08 85 43 00       	mov    0x438508,%eax
41816f:	33 c5                	xor    %ebp,%eax
418171:	89 45 fc             	mov    %eax,-0x4(%ebp)
418174:	53                   	push   %ebx
418175:	57                   	push   %edi
418176:	8b d9                	mov    %ecx,%ebx
418178:	8b fa                	mov    %edx,%edi
41817a:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41817d:	85 db                	test   %ebx,%ebx
41817f:	0f 84 38 ac 00 00    	je     0x422dbd
418185:	56                   	push   %esi
418186:	8b 33                	mov    (%ebx),%esi
418188:	89 75 ec             	mov    %esi,-0x14(%ebp)
41818b:	85 ff                	test   %edi,%edi
41818d:	0f 84 62 ac 00 00    	je     0x422df5
418193:	57                   	push   %edi
418194:	ff 15 a0 a3 43 00    	call   *0x43a3a0
41819a:	85 c0                	test   %eax,%eax
41819c:	0f 84 53 ac 00 00    	je     0x422df5
4181a2:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4181a6:	83 3b 00             	cmpl   $0x0,(%ebx)
4181a9:	0f 85 18 ac 00 00    	jne    0x422dc7
4181af:	57                   	push   %edi
4181b0:	ff 15 d8 a3 43 00    	call   *0x43a3d8
4181b6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4181b9:	83 c1 10             	add    $0x10,%ecx
4181bc:	03 c1                	add    %ecx,%eax
4181be:	50                   	push   %eax
4181bf:	89 45 e8             	mov    %eax,-0x18(%ebp)
4181c2:	ff 15 e4 a4 43 00    	call   *0x43a4e4
4181c8:	8b f8                	mov    %eax,%edi
4181ca:	59                   	pop    %ecx
4181cb:	85 ff                	test   %edi,%edi
4181cd:	74 67                	je     0x418236
4181cf:	6a 02                	push   $0x2
4181d1:	ff 75 e8             	push   -0x18(%ebp)
4181d4:	57                   	push   %edi
4181d5:	ff 15 c4 a3 43 00    	call   *0x43a3c4
4181db:	85 c0                	test   %eax,%eax
4181dd:	74 44                	je     0x418223
4181df:	8b d6                	mov    %esi,%edx
4181e1:	8b cf                	mov    %edi,%ecx
4181e3:	e8 55 00 00 00       	call   0x41823d
4181e8:	8b f0                	mov    %eax,%esi
4181ea:	85 f6                	test   %esi,%esi
4181ec:	78 3e                	js     0x41822c
4181ee:	ff 75 e4             	push   -0x1c(%ebp)
4181f1:	6a 01                	push   $0x1
4181f3:	6a 02                	push   $0x2
4181f5:	57                   	push   %edi
4181f6:	ff 15 bc a3 43 00    	call   *0x43a3bc
4181fc:	85 c0                	test   %eax,%eax
4181fe:	74 23                	je     0x418223
418200:	ff 75 ec             	push   -0x14(%ebp)
418203:	89 3b                	mov    %edi,(%ebx)
418205:	ff 15 14 a4 43 00    	call   *0x43a414
41820b:	59                   	pop    %ecx
41820c:	85 f6                	test   %esi,%esi
41820e:	78 1c                	js     0x41822c
418210:	8b c6                	mov    %esi,%eax
418212:	5e                   	pop    %esi
418213:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418216:	5f                   	pop    %edi
418217:	33 cd                	xor    %ebp,%ecx
418219:	5b                   	pop    %ebx
41821a:	e8 a1 25 00 00       	call   0x41a7c0
41821f:	c9                   	leave
418220:	c2 04 00             	ret    $0x4
418223:	e8 bb 04 00 00       	call   0x4186e3
418228:	8b f0                	mov    %eax,%esi
41822a:	eb e0                	jmp    0x41820c
41822c:	57                   	push   %edi
41822d:	ff 15 14 a4 43 00    	call   *0x43a414
418233:	59                   	pop    %ecx
418234:	eb da                	jmp    0x418210
418236:	be 0e 00 07 80       	mov    $0x8007000e,%esi
41823b:	eb d3                	jmp    0x418210
41823d:	8b ff                	mov    %edi,%edi
41823f:	55                   	push   %ebp
418240:	8b ec                	mov    %esp,%ebp
418242:	83 ec 14             	sub    $0x14,%esp
418245:	a1 08 85 43 00       	mov    0x438508,%eax
41824a:	33 c5                	xor    %ebp,%eax
41824c:	89 45 fc             	mov    %eax,-0x4(%ebp)
41824f:	53                   	push   %ebx
418250:	8b d9                	mov    %ecx,%ebx
418252:	57                   	push   %edi
418253:	8b fa                	mov    %edx,%edi
418255:	85 db                	test   %ebx,%ebx
418257:	74 1a                	je     0x418273
418259:	56                   	push   %esi
41825a:	85 ff                	test   %edi,%edi
41825c:	0f 85 9d ab 00 00    	jne    0x422dff
418262:	33 c0                	xor    %eax,%eax
418264:	5e                   	pop    %esi
418265:	8b 4d fc             	mov    -0x4(%ebp),%ecx
418268:	5f                   	pop    %edi
418269:	33 cd                	xor    %ebp,%ecx
41826b:	5b                   	pop    %ebx
41826c:	e8 4f 25 00 00       	call   0x41a7c0
418271:	c9                   	leave
418272:	c3                   	ret
418273:	b8 03 40 00 80       	mov    $0x80004003,%eax
418278:	eb eb                	jmp    0x418265
41827a:	6a 1c                	push   $0x1c
41827c:	b8 a3 ed 41 00       	mov    $0x41eda3,%eax
418281:	e8 f1 2b 00 00       	call   0x41ae77
418286:	8b da                	mov    %edx,%ebx
418288:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
41828b:	8b c1                	mov    %ecx,%eax
41828d:	89 45 d8             	mov    %eax,-0x28(%ebp)
418290:	85 db                	test   %ebx,%ebx
418292:	0f 84 c2 ab 00 00    	je     0x422e5a
418298:	85 c0                	test   %eax,%eax
41829a:	0f 84 c4 ab 00 00    	je     0x422e64
4182a0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
4182a3:	33 ff                	xor    %edi,%edi
4182a5:	51                   	push   %ecx
4182a6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4182a9:	89 3b                	mov    %edi,(%ebx)
4182ab:	51                   	push   %ecx
4182ac:	57                   	push   %edi
4182ad:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4182b0:	89 7d ec             	mov    %edi,-0x14(%ebp)
4182b3:	51                   	push   %ecx
4182b4:	57                   	push   %edi
4182b5:	50                   	push   %eax
4182b6:	57                   	push   %edi
4182b7:	89 7d e8             	mov    %edi,-0x18(%ebp)
4182ba:	ff 15 f0 a3 43 00    	call   *0x43a3f0
4182c0:	ff 15 a8 a0 43 00    	call   *0x43a0a8
4182c6:	83 f8 7a             	cmp    $0x7a,%eax
4182c9:	0f 85 cd ab 00 00    	jne    0x422e9c
4182cf:	33 c9                	xor    %ecx,%ecx
4182d1:	89 7d fc             	mov    %edi,-0x4(%ebp)
4182d4:	8b 45 ec             	mov    -0x14(%ebp),%eax
4182d7:	8b 35 3c 1a 40 00    	mov    0x401a3c,%esi
4182dd:	6a 02                	push   $0x2
4182df:	5a                   	pop    %edx
4182e0:	f7 e2                	mul    %edx
4182e2:	0f 90 c1             	seto   %cl
4182e5:	f7 d9                	neg    %ecx
4182e7:	0b c8                	or     %eax,%ecx
4182e9:	51                   	push   %ecx
4182ea:	8b ce                	mov    %esi,%ecx
4182ec:	ff 15 20 a5 43 00    	call   *0x43a520
4182f2:	ff d6                	call   *%esi
4182f4:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4182f8:	8b f0                	mov    %eax,%esi
4182fa:	85 f6                	test   %esi,%esi
4182fc:	74 5d                	je     0x41835b
4182fe:	ff 75 e8             	push   -0x18(%ebp)
418301:	ff 15 e4 a4 43 00    	call   *0x43a4e4
418307:	89 03                	mov    %eax,(%ebx)
418309:	59                   	pop    %ecx
41830a:	85 c0                	test   %eax,%eax
41830c:	74 44                	je     0x418352
41830e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
418311:	51                   	push   %ecx
418312:	8d 4d ec             	lea    -0x14(%ebp),%ecx
418315:	51                   	push   %ecx
418316:	56                   	push   %esi
418317:	8d 4d e8             	lea    -0x18(%ebp),%ecx
41831a:	51                   	push   %ecx
41831b:	50                   	push   %eax
41831c:	ff 75 d8             	push   -0x28(%ebp)
41831f:	57                   	push   %edi
418320:	ff 15 f0 a3 43 00    	call   *0x43a3f0
418326:	85 c0                	test   %eax,%eax
418328:	0f 84 56 ab 00 00    	je     0x422e84
41832e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
418331:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
418338:	56                   	push   %esi
418339:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
41833f:	8b ce                	mov    %esi,%ecx
418341:	ff 15 20 a5 43 00    	call   *0x43a520
418347:	ff d6                	call   *%esi
418349:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41834c:	e8 8b 2a 00 00       	call   0x41addc
418351:	c3                   	ret
418352:	c7 45 e4 0e 00 07 80 	movl   $0x8007000e,-0x1c(%ebp)
418359:	eb d6                	jmp    0x418331
41835b:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
418360:	eb ea                	jmp    0x41834c
418362:	8b ff                	mov    %edi,%edi
418364:	55                   	push   %ebp
418365:	8b ec                	mov    %esp,%ebp
418367:	51                   	push   %ecx
418368:	51                   	push   %ecx
418369:	56                   	push   %esi
41836a:	57                   	push   %edi
41836b:	8b f9                	mov    %ecx,%edi
41836d:	e8 84 03 00 00       	call   0x4186f6
418372:	8b f0                	mov    %eax,%esi
418374:	85 f6                	test   %esi,%esi
418376:	78 64                	js     0x4183dc
418378:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41837c:	8d 55 f8             	lea    -0x8(%ebp),%edx
41837f:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
418383:	51                   	push   %ecx
418384:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418387:	e8 0f 03 00 00       	call   0x41869b
41838c:	8b f0                	mov    %eax,%esi
41838e:	66 81 fe f0 03       	cmp    $0x3f0,%si
418393:	75 0d                	jne    0x4183a2
418395:	8d 55 f8             	lea    -0x8(%ebp),%edx
418398:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41839b:	e8 19 01 00 00       	call   0x4184b9
4183a0:	8b f0                	mov    %eax,%esi
4183a2:	85 f6                	test   %esi,%esi
4183a4:	78 36                	js     0x4183dc
4183a6:	51                   	push   %ecx
4183a7:	ff 75 fc             	push   -0x4(%ebp)
4183aa:	8b cf                	mov    %edi,%ecx
4183ac:	e8 3c 00 00 00       	call   0x4183ed
4183b1:	8b f0                	mov    %eax,%esi
4183b3:	85 f6                	test   %esi,%esi
4183b5:	78 0d                	js     0x4183c4
4183b7:	51                   	push   %ecx
4183b8:	ff 75 f8             	push   -0x8(%ebp)
4183bb:	8b cf                	mov    %edi,%ecx
4183bd:	e8 91 00 00 00       	call   0x418453
4183c2:	8b f0                	mov    %eax,%esi
4183c4:	ff 75 fc             	push   -0x4(%ebp)
4183c7:	ff 15 14 a4 43 00    	call   *0x43a414
4183cd:	ff 75 f8             	push   -0x8(%ebp)
4183d0:	ff 15 14 a4 43 00    	call   *0x43a414
4183d6:	59                   	pop    %ecx
4183d7:	59                   	pop    %ecx
4183d8:	85 f6                	test   %esi,%esi
4183da:	78 08                	js     0x4183e4
4183dc:	5f                   	pop    %edi
4183dd:	8b c6                	mov    %esi,%eax
4183df:	5e                   	pop    %esi
4183e0:	c9                   	leave
4183e1:	c2 08 00             	ret    $0x8
4183e4:	8b cf                	mov    %edi,%ecx
4183e6:	e8 0b 03 00 00       	call   0x4186f6
4183eb:	eb ef                	jmp    0x4183dc
4183ed:	8b ff                	mov    %edi,%edi
4183ef:	55                   	push   %ebp
4183f0:	8b ec                	mov    %esp,%ebp
4183f2:	53                   	push   %ebx
4183f3:	56                   	push   %esi
4183f4:	57                   	push   %edi
4183f5:	33 ff                	xor    %edi,%edi
4183f7:	8b d9                	mov    %ecx,%ebx
4183f9:	57                   	push   %edi
4183fa:	57                   	push   %edi
4183fb:	ff 33                	push   (%ebx)
4183fd:	ff 15 a8 a3 43 00    	call   *0x43a3a8
418403:	85 c0                	test   %eax,%eax
418405:	74 43                	je     0x41844a
418407:	8d 73 04             	lea    0x4(%ebx),%esi
41840a:	ff 36                	push   (%esi)
41840c:	ff 15 14 a4 43 00    	call   *0x43a414
418412:	8b 55 08             	mov    0x8(%ebp),%edx
418415:	89 3e                	mov    %edi,(%esi)
418417:	59                   	pop    %ecx
418418:	85 d2                	test   %edx,%edx
41841a:	74 2a                	je     0x418446
41841c:	8b ce                	mov    %esi,%ecx
41841e:	e8 0d 02 00 00       	call   0x418630
418423:	8b f8                	mov    %eax,%edi
418425:	85 ff                	test   %edi,%edi
418427:	78 14                	js     0x41843d
418429:	6a 00                	push   $0x0
41842b:	ff 36                	push   (%esi)
41842d:	ff 33                	push   (%ebx)
41842f:	ff 15 a8 a3 43 00    	call   *0x43a3a8
418435:	85 c0                	test   %eax,%eax
418437:	0f 84 6b aa 00 00    	je     0x422ea8
41843d:	8b c7                	mov    %edi,%eax
41843f:	5f                   	pop    %edi
418440:	5e                   	pop    %esi
418441:	5b                   	pop    %ebx
418442:	5d                   	pop    %ebp
418443:	c2 08 00             	ret    $0x8
418446:	33 c0                	xor    %eax,%eax
418448:	eb f5                	jmp    0x41843f
41844a:	e8 94 02 00 00       	call   0x4186e3
41844f:	8b f8                	mov    %eax,%edi
418451:	eb ea                	jmp    0x41843d
418453:	8b ff                	mov    %edi,%edi
418455:	55                   	push   %ebp
418456:	8b ec                	mov    %esp,%ebp
418458:	53                   	push   %ebx
418459:	56                   	push   %esi
41845a:	57                   	push   %edi
41845b:	33 ff                	xor    %edi,%edi
41845d:	8b d9                	mov    %ecx,%ebx
41845f:	57                   	push   %edi
418460:	57                   	push   %edi
418461:	ff 33                	push   (%ebx)
418463:	ff 15 94 a3 43 00    	call   *0x43a394
418469:	85 c0                	test   %eax,%eax
41846b:	74 43                	je     0x4184b0
41846d:	8d 73 08             	lea    0x8(%ebx),%esi
418470:	ff 36                	push   (%esi)
418472:	ff 15 14 a4 43 00    	call   *0x43a414
418478:	8b 55 08             	mov    0x8(%ebp),%edx
41847b:	89 3e                	mov    %edi,(%esi)
41847d:	59                   	pop    %ecx
41847e:	85 d2                	test   %edx,%edx
418480:	74 2a                	je     0x4184ac
418482:	8b ce                	mov    %esi,%ecx
418484:	e8 a7 01 00 00       	call   0x418630