4380be:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4380c2:	85 f6                	test   %esi,%esi
4380c4:	74 0c                	je     0x4380d2
4380c6:	8b 0d 80 0b 45 00    	mov    0x450b80,%ecx
4380cc:	56                   	push   %esi
4380cd:	e8 58 17 fe ff       	call   0x41982a
4380d2:	8b c6                	mov    %esi,%eax
4380d4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4380d7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4380de:	59                   	pop    %ecx
4380df:	5e                   	pop    %esi
4380e0:	c9                   	leave
4380e1:	c2 04 00             	ret    $0x4
4380e4:	cc                   	int3
4380e5:	cc                   	int3
4380e6:	cc                   	int3
4380e7:	cc                   	int3
4380e8:	cc                   	int3
4380e9:	cc                   	int3
4380ea:	cc                   	int3
4380eb:	cc                   	int3
4380ec:	cc                   	int3
4380ed:	cc                   	int3
4380ee:	cc                   	int3
4380ef:	cc                   	int3
4380f0:	8b ff                	mov    %edi,%edi
4380f2:	55                   	push   %ebp
4380f3:	8b ec                	mov    %esp,%ebp
4380f5:	ff 75 18             	push   0x18(%ebp)
4380f8:	8b 4d 08             	mov    0x8(%ebp),%ecx
4380fb:	32 d2                	xor    %dl,%dl
4380fd:	ff 75 14             	push   0x14(%ebp)
438100:	ff 75 10             	push   0x10(%ebp)
438103:	8d 49 f0             	lea    -0x10(%ecx),%ecx
438106:	ff 75 0c             	push   0xc(%ebp)
438109:	e8 45 38 00 00       	call   0x43b953
43810e:	5d                   	pop    %ebp
43810f:	c2 14 00             	ret    $0x14
438112:	cc                   	int3
438113:	cc                   	int3
438114:	cc                   	int3
438115:	cc                   	int3
438116:	cc                   	int3
438117:	cc                   	int3
438118:	cc                   	int3
438119:	cc                   	int3
43811a:	cc                   	int3
43811b:	cc                   	int3
43811c:	cc                   	int3
43811d:	cc                   	int3
43811e:	cc                   	int3
43811f:	cc                   	int3
438120:	8b ff                	mov    %edi,%edi
438122:	55                   	push   %ebp
438123:	8b ec                	mov    %esp,%ebp
438125:	8b 45 08             	mov    0x8(%ebp),%eax
438128:	83 c0 10             	add    $0x10,%eax
43812b:	50                   	push   %eax
43812c:	e8 1f ae ff ff       	call   0x432f50
438131:	5d                   	pop    %ebp
438132:	c2 04 00             	ret    $0x4
438135:	8b ff                	mov    %edi,%edi
438137:	55                   	push   %ebp
438138:	8b ec                	mov    %esp,%ebp
43813a:	83 ec 0c             	sub    $0xc,%esp
43813d:	8b 45 28             	mov    0x28(%ebp),%eax
438140:	33 d2                	xor    %edx,%edx
438142:	53                   	push   %ebx
438143:	8b 5d 18             	mov    0x18(%ebp),%ebx
438146:	56                   	push   %esi
438147:	89 10                	mov    %edx,(%eax)
438149:	8b f1                	mov    %ecx,%esi
43814b:	8b 45 2c             	mov    0x2c(%ebp),%eax
43814e:	8b 4d 14             	mov    0x14(%ebp),%ecx
438151:	57                   	push   %edi
438152:	8b fa                	mov    %edx,%edi
438154:	89 75 f8             	mov    %esi,-0x8(%ebp)
438157:	89 10                	mov    %edx,(%eax)
438159:	89 11                	mov    %edx,(%ecx)
43815b:	89 13                	mov    %edx,(%ebx)
43815d:	8b 55 1c             	mov    0x1c(%ebp),%edx
438160:	21 3a                	and    %edi,(%edx)
438162:	8b 86 34 01 00 00    	mov    0x134(%esi),%eax
438168:	8b 80 80 06 00 00    	mov    0x680(%eax),%eax
43816e:	83 f8 01             	cmp    $0x1,%eax
438171:	0f 84 33 01 00 00    	je     0x4382aa
438177:	83 f8 05             	cmp    $0x5,%eax
43817a:	0f 84 2a 01 00 00    	je     0x4382aa
438180:	83 f8 06             	cmp    $0x6,%eax
438183:	7e 17                	jle    0x43819c
438185:	83 f8 08             	cmp    $0x8,%eax
438188:	0f 8e 1c 01 00 00    	jle    0x4382aa
43818e:	83 f8 0a             	cmp    $0xa,%eax
438191:	7e 09                	jle    0x43819c
438193:	83 f8 0d             	cmp    $0xd,%eax
438196:	0f 8e 0e 01 00 00    	jle    0x4382aa
43819c:	21 7d f4             	and    %edi,-0xc(%ebp)
43819f:	8d 45 f4             	lea    -0xc(%ebp),%eax
4381a2:	50                   	push   %eax
4381a3:	51                   	push   %ecx
4381a4:	8b cb                	mov    %ebx,%ecx
4381a6:	e8 e9 65 fe ff       	call   0x41e794
4381ab:	8b f8                	mov    %eax,%edi
4381ad:	85 ff                	test   %edi,%edi
4381af:	0f 88 02 01 00 00    	js     0x4382b7
4381b5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4381b9:	8d 45 fc             	lea    -0x4(%ebp),%eax
4381bc:	6a 03                	push   $0x3
4381be:	5b                   	pop    %ebx
4381bf:	50                   	push   %eax
4381c0:	68 84 7a 40 00       	push   $0x407a84
4381c5:	ff 15 58 30 45 00    	call   *0x453058
4381cb:	85 c0                	test   %eax,%eax
4381cd:	78 2c                	js     0x4381fb
4381cf:	ff 15 60 30 45 00    	call   *0x453060
4381d5:	8b f8                	mov    %eax,%edi
4381d7:	85 ff                	test   %edi,%edi
4381d9:	78 0d                	js     0x4381e8
4381db:	e8 6d e8 00 00       	call   0x446a4d
4381e0:	8b d8                	mov    %eax,%ebx
4381e2:	ff 15 64 30 45 00    	call   *0x453064
4381e8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4381eb:	51                   	push   %ecx
4381ec:	8b 11                	mov    (%ecx),%edx
4381ee:	8b 72 08             	mov    0x8(%edx),%esi
4381f1:	8b ce                	mov    %esi,%ecx
4381f3:	ff 15 c4 12 45 00    	call   *0x4512c4
4381f9:	ff d6                	call   *%esi
4381fb:	8b 75 08             	mov    0x8(%ebp),%esi
4381fe:	85 ff                	test   %edi,%edi
438200:	78 2e                	js     0x438230
438202:	ff 75 28             	push   0x28(%ebp)
438205:	8b 4d f8             	mov    -0x8(%ebp),%ecx
438208:	81 c1 f0 00 00 00    	add    $0xf0,%ecx
43820e:	83 fb 02             	cmp    $0x2,%ebx
438211:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
438214:	53                   	push   %ebx
438215:	56                   	push   %esi
438216:	68 98 6b 40 00       	push   $0x406b98
43821b:	6a 05                	push   $0x5
43821d:	5a                   	pop    %edx
43821e:	75 09                	jne    0x438229
438220:	e8 e9 ed 00 00       	call   0x44700e
438225:	8b f8                	mov    %eax,%edi
438227:	eb 0a                	jmp    0x438233
438229:	e8 a8 69 fe ff       	call   0x41ebd6
43822e:	eb f5                	jmp    0x438225
438230:	8b 5d 2c             	mov    0x2c(%ebp),%ebx
438233:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438239:	75 12                	jne    0x43824d
43823b:	8b 45 24             	mov    0x24(%ebp),%eax
43823e:	89 30                	mov    %esi,(%eax)
438240:	8b 45 20             	mov    0x20(%ebp),%eax
438243:	83 20 00             	andl   $0x0,(%eax)
438246:	33 ff                	xor    %edi,%edi
438248:	e9 8c 00 00 00       	jmp    0x4382d9
43824d:	85 ff                	test   %edi,%edi
43824f:	78 3b                	js     0x43828c
438251:	8b 45 20             	mov    0x20(%ebp),%eax
438254:	8b 75 24             	mov    0x24(%ebp),%esi
438257:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
43825d:	8b 03                	mov    (%ebx),%eax
43825f:	89 06                	mov    %eax,(%esi)
438261:	e8 e7 e7 00 00       	call   0x446a4d
438266:	8b 0e                	mov    (%esi),%ecx
438268:	50                   	push   %eax
438269:	e8 c1 ec 00 00       	call   0x446f2f
43826e:	8b f8                	mov    %eax,%edi
438270:	85 ff                	test   %edi,%edi
438272:	79 43                	jns    0x4382b7
438274:	8b 45 28             	mov    0x28(%ebp),%eax
438277:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43827a:	ff 30                	push   (%eax)
43827c:	8d 89 f0 00 00 00    	lea    0xf0(%ecx),%ecx
438282:	ff 33                	push   (%ebx)
438284:	6a 05                	push   $0x5
438286:	5a                   	pop    %edx
438287:	e8 02 ec 00 00       	call   0x446e8e
43828c:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
438292:	74 2b                	je     0x4382bf
438294:	8b 45 14             	mov    0x14(%ebp),%eax
438297:	8b 55 1c             	mov    0x1c(%ebp),%edx
43829a:	8b 4d 18             	mov    0x18(%ebp),%ecx
43829d:	ff 30                	push   (%eax)
43829f:	8b 12                	mov    (%edx),%edx
4382a1:	8b 09                	mov    (%ecx),%ecx
4382a3:	e8 aa 6a fe ff       	call   0x41ed52
4382a8:	eb 0d                	jmp    0x4382b7
4382aa:	8b 55 24             	mov    0x24(%ebp),%edx
4382ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
4382b0:	89 0a                	mov    %ecx,(%edx)
4382b2:	8b 4d 20             	mov    0x20(%ebp),%ecx
4382b5:	21 39                	and    %edi,(%ecx)
4382b7:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
4382bd:	75 07                	jne    0x4382c6
4382bf:	b8 02 10 04 80       	mov    $0x80041002,%eax
4382c4:	eb 41                	jmp    0x438307
4382c6:	85 ff                	test   %edi,%edi
4382c8:	79 0f                	jns    0x4382d9
4382ca:	57                   	push   %edi
4382cb:	ff 15 a0 12 45 00    	call   *0x4512a0
4382d1:	8b c8                	mov    %eax,%ecx
4382d3:	ff 15 a4 12 45 00    	call   *0x4512a4
4382d9:	a1 00 f0 44 00       	mov    0x44f000,%eax
4382de:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
4382e3:	74 20                	je     0x438305
4382e5:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
4382e9:	74 1a                	je     0x438305
4382eb:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
4382ef:	72 14                	jb     0x438305
4382f1:	57                   	push   %edi
4382f2:	ff 70 14             	push   0x14(%eax)
4382f5:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
4382fa:	ff 70 10             	push   0x10(%eax)
4382fd:	6a 45                	push   $0x45
4382ff:	59                   	pop    %ecx
438300:	e8 c1 84 ff ff       	call   0x4307c6
438305:	8b c7                	mov    %edi,%eax
438307:	5f                   	pop    %edi
438308:	5e                   	pop    %esi
438309:	5b                   	pop    %ebx
43830a:	c9                   	leave
43830b:	c2 28 00             	ret    $0x28
43830e:	8b ff                	mov    %edi,%edi
438310:	55                   	push   %ebp
438311:	8b ec                	mov    %esp,%ebp
438313:	83 ec 0c             	sub    $0xc,%esp
438316:	8b 45 2c             	mov    0x2c(%ebp),%eax
438319:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43831c:	33 c9                	xor    %ecx,%ecx
43831e:	53                   	push   %ebx
43831f:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
438322:	89 08                	mov    %ecx,(%eax)
438324:	8b 45 30             	mov    0x30(%ebp),%eax
438327:	56                   	push   %esi
438328:	8b 75 20             	mov    0x20(%ebp),%esi
43832b:	57                   	push   %edi
43832c:	89 08                	mov    %ecx,(%eax)
43832e:	8b 45 18             	mov    0x18(%ebp),%eax
438331:	89 08                	mov    %ecx,(%eax)
438333:	89 0b                	mov    %ecx,(%ebx)
438335:	89 0e                	mov    %ecx,(%esi)
438337:	38 4d 08             	cmp    %cl,0x8(%ebp)
43833a:	0f 84 b1 00 00 00    	je     0x4383f1
438340:	89 4d f4             	mov    %ecx,-0xc(%ebp)
438343:	8b d6                	mov    %esi,%edx
438345:	8d 4d f4             	lea    -0xc(%ebp),%ecx
438348:	51                   	push   %ecx
438349:	50                   	push   %eax
43834a:	8b cb                	mov    %ebx,%ecx
43834c:	e8 43 64 fe ff       	call   0x41e794
438351:	8b f8                	mov    %eax,%edi
438353:	85 ff                	test   %edi,%edi
438355:	0f 88 fd 01 00 00    	js     0x438558
43835b:	ff 75 2c             	push   0x2c(%ebp)
43835e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
438361:	33 d2                	xor    %edx,%edx
438363:	ff 75 30             	push   0x30(%ebp)
438366:	83 c1 40             	add    $0x40,%ecx
438369:	ff 75 0c             	push   0xc(%ebp)
43836c:	68 c8 6b 40 00       	push   $0x406bc8
438371:	e8 60 68 fe ff       	call   0x41ebd6
438376:	8b f8                	mov    %eax,%edi
438378:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
43837e:	75 13                	jne    0x438393
438380:	8b 45 28             	mov    0x28(%ebp),%eax
438383:	8b 4d 0c             	mov    0xc(%ebp),%ecx
438386:	89 08                	mov    %ecx,(%eax)
438388:	8b 45 24             	mov    0x24(%ebp),%eax
43838b:	83 20 00             	andl   $0x0,(%eax)
43838e:	e9 cd 01 00 00       	jmp    0x438560
438393:	85 ff                	test   %edi,%edi
438395:	78 44                	js     0x4383db
438397:	8b 45 24             	mov    0x24(%ebp),%eax
43839a:	8b 75 28             	mov    0x28(%ebp),%esi
43839d:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4383a3:	8b 45 30             	mov    0x30(%ebp),%eax
4383a6:	8b 00                	mov    (%eax),%eax
4383a8:	89 06                	mov    %eax,(%esi)
4383aa:	e8 9e e6 00 00       	call   0x446a4d
4383af:	8b 0e                	mov    (%esi),%ecx
4383b1:	50                   	push   %eax
4383b2:	e8 78 eb 00 00       	call   0x446f2f
4383b7:	8b f8                	mov    %eax,%edi
4383b9:	85 ff                	test   %edi,%edi
4383bb:	0f 89 97 01 00 00    	jns    0x438558
4383c1:	8b 45 2c             	mov    0x2c(%ebp),%eax
4383c4:	33 d2                	xor    %edx,%edx
4383c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4383c9:	ff 30                	push   (%eax)
4383cb:	8b 45 30             	mov    0x30(%ebp),%eax
4383ce:	8d 49 40             	lea    0x40(%ecx),%ecx
4383d1:	ff 30                	push   (%eax)
4383d3:	e8 b6 ea 00 00       	call   0x446e8e
4383d8:	8b 75 20             	mov    0x20(%ebp),%esi
4383db:	81 ff 02 10 04 80    	cmp    $0x80041002,%edi
4383e1:	0f 84 79 01 00 00    	je     0x438560
4383e7:	8b 4d 18             	mov    0x18(%ebp),%ecx
4383ea:	ff 31                	push   (%ecx)
4383ec:	e9 5e 01 00 00       	jmp    0x43854f
4383f1:	8d 45 f8             	lea    -0x8(%ebp),%eax
4383f4:	c7 45 f4 03 00 00 00 	movl   $0x3,-0xc(%ebp)
4383fb:	50                   	push   %eax
4383fc:	68 84 7a 40 00       	push   $0x407a84
438401:	89 4d f8             	mov    %ecx,-0x8(%ebp)
438404:	ff 15 58 30 45 00    	call   *0x453058
43840a:	85 c0                	test   %eax,%eax
43840c:	0f 88 97 00 00 00    	js     0x4384a9
438412:	ff 15 60 30 45 00    	call   *0x453060
438418:	8b f8                	mov    %eax,%edi
43841a:	85 ff                	test   %edi,%edi
43841c:	78 0e                	js     0x43842c
43841e:	e8 2a e6 00 00       	call   0x446a4d
438423:	89 45 f4             	mov    %eax,-0xc(%ebp)
438426:	ff 15 64 30 45 00    	call   *0x453064
43842c:	8b 45 f8             	mov    -0x8(%ebp),%eax
43842f:	50                   	push   %eax
438430:	8b 08                	mov    (%eax),%ecx
438432:	8b 71 08             	mov    0x8(%ecx),%esi
438435:	8b ce                	mov    %esi,%ecx
438437:	ff 15 c4 12 45 00    	call   *0x4512c4
43843d:	ff d6                	call   *%esi
43843f:	85 ff                	test   %edi,%edi
438441:	0f 88 11 01 00 00    	js     0x438558
438447:	83 7d f4 02          	cmpl   $0x2,-0xc(%ebp)
43844b:	75 59                	jne    0x4384a6
43844d:	53                   	push   %ebx
43844e:	6a 00                	push   $0x0
438450:	ff 15 5c 30 45 00    	call   *0x45305c
438456:	8b f8                	mov    %eax,%edi
438458:	85 ff                	test   %edi,%edi
43845a:	78 37                	js     0x438493
43845c:	8b 03                	mov    (%ebx),%eax
43845e:	8b 5d 20             	mov    0x20(%ebp),%ebx
438461:	53                   	push   %ebx
438462:	68 b4 7a 40 00       	push   $0x407ab4
438467:	8b 08                	mov    (%eax),%ecx
438469:	50                   	push   %eax
43846a:	8b 31                	mov    (%ecx),%esi
43846c:	8b ce                	mov    %esi,%ecx
43846e:	ff 15 c4 12 45 00    	call   *0x4512c4
438474:	ff d6                	call   *%esi
438476:	8b f8                	mov    %eax,%edi
438478:	85 ff                	test   %edi,%edi
43847a:	78 17                	js     0x438493
43847c:	8b 03                	mov    (%ebx),%eax
43847e:	50                   	push   %eax
43847f:	8b 08                	mov    (%eax),%ecx
438481:	8b 71 18             	mov    0x18(%ecx),%esi
438484:	8b ce                	mov    %esi,%ecx