4032b7:	8b 76 dc             	mov    -0x24(%esi),%esi
4032ba:	85 d2                	test   %edx,%edx
4032bc:	74 07                	je     0x4032c5
4032be:	e8 11 17 00 00       	call   0x4049d4
4032c3:	89 d8                	mov    %ebx,%eax
4032c5:	85 f6                	test   %esi,%esi
4032c7:	75 e9                	jne    0x4032b2
4032c9:	5e                   	pop    %esi
4032ca:	5b                   	pop    %ebx
4032cb:	c3                   	ret
4032cc:	87 d1                	xchg   %edx,%ecx
4032ce:	81 f9 00 00 00 ff    	cmp    $0xff000000,%ecx
4032d4:	73 11                	jae    0x4032e7
4032d6:	81 f9 00 00 00 fe    	cmp    $0xfe000000,%ecx
4032dc:	72 07                	jb     0x4032e5
4032de:	0f bf c9             	movswl %cx,%ecx
4032e1:	03 08                	add    (%eax),%ecx
4032e3:	ff 21                	jmp    *(%ecx)
4032e5:	ff e1                	jmp    *%ecx
4032e7:	81 e1 ff ff ff 00    	and    $0xffffff,%ecx
4032ed:	01 c1                	add    %eax,%ecx
4032ef:	89 d0                	mov    %edx,%eax
4032f1:	8b 11                	mov    (%ecx),%edx
4032f3:	e9 58 23 00 00       	jmp    0x405650
4032f8:	c3                   	ret
4032f9:	8d 40 00             	lea    0x0(%eax),%eax
4032fc:	55                   	push   %ebp
4032fd:	8b ec                	mov    %esp,%ebp
4032ff:	83 c4 f8             	add    $0xfffffff8,%esp
403302:	53                   	push   %ebx
403303:	56                   	push   %esi
403304:	57                   	push   %edi
403305:	33 db                	xor    %ebx,%ebx
403307:	89 5d f8             	mov    %ebx,-0x8(%ebp)
40330a:	8b f1                	mov    %ecx,%esi
40330c:	89 55 fc             	mov    %edx,-0x4(%ebp)
40330f:	8b f8                	mov    %eax,%edi
403311:	33 c0                	xor    %eax,%eax
403313:	55                   	push   %ebp
403314:	68 80 33 40 00       	push   $0x403380
403319:	64 ff 30             	push   %fs:(%eax)
40331c:	64 89 20             	mov    %esp,%fs:(%eax)
40331f:	33 c0                	xor    %eax,%eax
403321:	89 06                	mov    %eax,(%esi)
403323:	8b 55 fc             	mov    -0x4(%ebp),%edx
403326:	8b 07                	mov    (%edi),%eax
403328:	e8 63 00 00 00       	call   0x403390
40332d:	8b d8                	mov    %eax,%ebx
40332f:	85 db                	test   %ebx,%ebx
403331:	74 31                	je     0x403364
403333:	8b 43 14             	mov    0x14(%ebx),%eax
403336:	85 c0                	test   %eax,%eax
403338:	74 13                	je     0x40334d
40333a:	03 f8                	add    %eax,%edi
40333c:	89 3e                	mov    %edi,(%esi)
40333e:	83 3e 00             	cmpl   $0x0,(%esi)
403341:	74 21                	je     0x403364
403343:	8b 06                	mov    (%esi),%eax
403345:	50                   	push   %eax
403346:	8b 00                	mov    (%eax),%eax
403348:	ff 50 04             	call   *0x4(%eax)
40334b:	eb 17                	jmp    0x403364
40334d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403350:	8b 53 18             	mov    0x18(%ebx),%edx
403353:	8b c7                	mov    %edi,%eax
403355:	e8 72 ff ff ff       	call   0x4032cc
40335a:	8b 55 f8             	mov    -0x8(%ebp),%edx
40335d:	8b c6                	mov    %esi,%eax
40335f:	e8 ec 22 00 00       	call   0x405650
403364:	83 3e 00             	cmpl   $0x0,(%esi)
403367:	0f 95 c3             	setne  %bl
40336a:	33 c0                	xor    %eax,%eax
40336c:	5a                   	pop    %edx
40336d:	59                   	pop    %ecx
40336e:	59                   	pop    %ecx
40336f:	64 89 10             	mov    %edx,%fs:(%eax)
403372:	68 87 33 40 00       	push   $0x403387
403377:	8d 45 f8             	lea    -0x8(%ebp),%eax
40337a:	e8 b9 22 00 00       	call   0x405638
40337f:	c3                   	ret
403380:	e9 17 06 00 00       	jmp    0x40399c
403385:	eb f0                	jmp    0x403377
403387:	8b c3                	mov    %ebx,%eax
403389:	5f                   	pop    %edi
40338a:	5e                   	pop    %esi
40338b:	5b                   	pop    %ebx
40338c:	59                   	pop    %ecx
40338d:	59                   	pop    %ecx
40338e:	5d                   	pop    %ebp
40338f:	c3                   	ret
403390:	53                   	push   %ebx
403391:	56                   	push   %esi
403392:	89 c3                	mov    %eax,%ebx
403394:	8b 43 b8             	mov    -0x48(%ebx),%eax
403397:	85 c0                	test   %eax,%eax
403399:	74 29                	je     0x4033c4
40339b:	8b 08                	mov    (%eax),%ecx
40339d:	83 c0 04             	add    $0x4,%eax
4033a0:	8b 32                	mov    (%edx),%esi
4033a2:	3b 30                	cmp    (%eax),%esi
4033a4:	75 18                	jne    0x4033be
4033a6:	8b 72 04             	mov    0x4(%edx),%esi
4033a9:	3b 70 04             	cmp    0x4(%eax),%esi
4033ac:	75 10                	jne    0x4033be
4033ae:	8b 72 08             	mov    0x8(%edx),%esi
4033b1:	3b 70 08             	cmp    0x8(%eax),%esi
4033b4:	75 08                	jne    0x4033be
4033b6:	8b 72 0c             	mov    0xc(%edx),%esi
4033b9:	3b 70 0c             	cmp    0xc(%eax),%esi
4033bc:	74 13                	je     0x4033d1
4033be:	83 c0 1c             	add    $0x1c,%eax
4033c1:	49                   	dec    %ecx
4033c2:	75 dc                	jne    0x4033a0
4033c4:	8b 5b dc             	mov    -0x24(%ebx),%ebx
4033c7:	85 db                	test   %ebx,%ebx
4033c9:	74 04                	je     0x4033cf
4033cb:	8b 1b                	mov    (%ebx),%ebx
4033cd:	eb c5                	jmp    0x403394
4033cf:	31 c0                	xor    %eax,%eax
4033d1:	5e                   	pop    %esi
4033d2:	5b                   	pop    %ebx
4033d3:	c3                   	ret
4033d4:	53                   	push   %ebx
4033d5:	56                   	push   %esi
4033d6:	8b f2                	mov    %edx,%esi
4033d8:	8b d8                	mov    %eax,%ebx
4033da:	85 db                	test   %ebx,%ebx
4033dc:	74 0d                	je     0x4033eb
4033de:	8b d6                	mov    %esi,%edx
4033e0:	8b 03                	mov    (%ebx),%eax
4033e2:	e8 8d 00 00 00       	call   0x403474
4033e7:	84 c0                	test   %al,%al
4033e9:	75 05                	jne    0x4033f0
4033eb:	33 c0                	xor    %eax,%eax
4033ed:	5e                   	pop    %esi
4033ee:	5b                   	pop    %ebx
4033ef:	c3                   	ret
4033f0:	b0 01                	mov    $0x1,%al
4033f2:	5e                   	pop    %esi
4033f3:	5b                   	pop    %ebx
4033f4:	c3                   	ret
4033f5:	8d 40 00             	lea    0x0(%eax),%eax
4033f8:	85 c0                	test   %eax,%eax
4033fa:	74 16                	je     0x403412
4033fc:	89 c1                	mov    %eax,%ecx
4033fe:	8b 09                	mov    (%ecx),%ecx
403400:	39 d1                	cmp    %edx,%ecx
403402:	74 0e                	je     0x403412
403404:	8b 49 dc             	mov    -0x24(%ecx),%ecx
403407:	85 c9                	test   %ecx,%ecx
403409:	75 f3                	jne    0x4033fe
40340b:	b0 0a                	mov    $0xa,%al
40340d:	e9 06 f4 ff ff       	jmp    0x402818
403412:	c3                   	ret
403413:	90                   	nop
403414:	57                   	push   %edi
403415:	96                   	xchg   %eax,%esi
403416:	eb 02                	jmp    0x40341a
403418:	8b 36                	mov    (%esi),%esi
40341a:	8b 7e d0             	mov    -0x30(%esi),%edi
40341d:	85 ff                	test   %edi,%edi
40341f:	74 0d                	je     0x40342e
403421:	0f b7 0f             	movzwl (%edi),%ecx
403424:	51                   	push   %ecx
403425:	83 c7 02             	add    $0x2,%edi
403428:	f2 66 af             	repnz scas %es:(%edi),%ax
40342b:	74 0a                	je     0x403437
40342d:	59                   	pop    %ecx
40342e:	8b 76 dc             	mov    -0x24(%esi),%esi
403431:	85 f6                	test   %esi,%esi
403433:	75 e3                	jne    0x403418
403435:	5f                   	pop    %edi
403436:	c3                   	ret
403437:	58                   	pop    %eax
403438:	01 c0                	add    %eax,%eax
40343a:	29 c8                	sub    %ecx,%eax
40343c:	8b 74 47 fc          	mov    -0x4(%edi,%eax,2),%esi
403440:	5f                   	pop    %edi
403441:	c3                   	ret
403442:	8b c0                	mov    %eax,%eax
403444:	50                   	push   %eax
403445:	51                   	push   %ecx
403446:	8b 00                	mov    (%eax),%eax
403448:	e8 c7 ff ff ff       	call   0x403414
40344d:	59                   	pop    %ecx
40344e:	58                   	pop    %eax
40344f:	74 02                	je     0x403453
403451:	ff e6                	jmp    *%esi
403453:	59                   	pop    %ecx
403454:	e9 33 f6 ff ff       	jmp    0x402a8c
403459:	c3                   	ret
40345a:	8b c0                	mov    %eax,%eax
40345c:	56                   	push   %esi
40345d:	89 d6                	mov    %edx,%esi
40345f:	8b 00                	mov    (%eax),%eax
403461:	e8 ae ff ff ff       	call   0x403414
403466:	89 f0                	mov    %esi,%eax
403468:	5e                   	pop    %esi
403469:	75 06                	jne    0x403471
40346b:	59                   	pop    %ecx
40346c:	e9 1b f6 ff ff       	jmp    0x402a8c
403471:	c3                   	ret
403472:	8b c0                	mov    %eax,%eax
403474:	eb 02                	jmp    0x403478
403476:	8b 00                	mov    (%eax),%eax
403478:	39 d0                	cmp    %edx,%eax
40347a:	74 08                	je     0x403484
40347c:	8b 40 dc             	mov    -0x24(%eax),%eax
40347f:	85 c0                	test   %eax,%eax
403481:	75 f3                	jne    0x403476
403483:	c3                   	ret
403484:	b0 01                	mov    $0x1,%al
403486:	c3                   	ret
403487:	90                   	nop
403488:	83 c0 c4             	add    $0xffffffc4,%eax
40348b:	8b 00                	mov    (%eax),%eax
40348d:	c3                   	ret
40348e:	8b c0                	mov    %eax,%eax
403490:	b8 ff ff 00 80       	mov    $0x8000ffff,%eax
403495:	c3                   	ret
403496:	8b c0                	mov    %eax,%eax
403498:	c3                   	ret
403499:	8d 40 00             	lea    0x0(%eax),%eax
40349c:	c3                   	ret
40349d:	8d 40 00             	lea    0x0(%eax),%eax
4034a0:	c3                   	ret
4034a1:	8d 40 00             	lea    0x0(%eax),%eax
4034a4:	56                   	push   %esi
4034a5:	66 8b 32             	mov    (%edx),%si
4034a8:	66 09 f6             	or     %si,%si
4034ab:	74 17                	je     0x4034c4
4034ad:	66 81 fe 00 c0       	cmp    $0xc000,%si
4034b2:	73 10                	jae    0x4034c4
4034b4:	50                   	push   %eax
4034b5:	8b 00                	mov    (%eax),%eax
4034b7:	e8 58 ff ff ff       	call   0x403414
4034bc:	58                   	pop    %eax
4034bd:	74 05                	je     0x4034c4
4034bf:	89 f1                	mov    %esi,%ecx
4034c1:	5e                   	pop    %esi
4034c2:	ff e1                	jmp    *%ecx
4034c4:	5e                   	pop    %esi
4034c5:	8b 08                	mov    (%eax),%ecx
4034c7:	ff 61 f0             	jmp    *-0x10(%ecx)
4034ca:	c3                   	ret
4034cb:	90                   	nop
4034cc:	53                   	push   %ebx
4034cd:	56                   	push   %esi
4034ce:	57                   	push   %edi
4034cf:	31 c9                	xor    %ecx,%ecx
4034d1:	31 ff                	xor    %edi,%edi
4034d3:	8a 1a                	mov    (%edx),%bl
4034d5:	eb 02                	jmp    0x4034d9
4034d7:	8b 00                	mov    (%eax),%eax
4034d9:	8b 70 cc             	mov    -0x34(%eax),%esi
4034dc:	85 f6                	test   %esi,%esi
4034de:	74 15                	je     0x4034f5
4034e0:	66 8b 3e             	mov    (%esi),%di
4034e3:	83 c6 02             	add    $0x2,%esi
4034e6:	8a 4e 06             	mov    0x6(%esi),%cl
4034e9:	38 d9                	cmp    %bl,%cl
4034eb:	74 15                	je     0x403502
4034ed:	66 8b 0e             	mov    (%esi),%cx
4034f0:	01 ce                	add    %ecx,%esi
4034f2:	4f                   	dec    %edi
4034f3:	75 f1                	jne    0x4034e6
4034f5:	8b 40 dc             	mov    -0x24(%eax),%eax
4034f8:	85 c0                	test   %eax,%eax
4034fa:	75 db                	jne    0x4034d7
4034fc:	eb 18                	jmp    0x403516
4034fe:	8a 1a                	mov    (%edx),%bl
403500:	eb eb                	jmp    0x4034ed
403502:	b5 00                	mov    $0x0,%ch
403504:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403508:	32 1c 11             	xor    (%ecx,%edx,1),%bl
40350b:	80 e3 df             	and    $0xdf,%bl
40350e:	75 ee                	jne    0x4034fe
403510:	49                   	dec    %ecx
403511:	75 f1                	jne    0x403504
403513:	8b 46 02             	mov    0x2(%esi),%eax
403516:	5f                   	pop    %edi
403517:	5e                   	pop    %esi
403518:	5b                   	pop    %ebx
403519:	c3                   	ret
40351a:	8b c0                	mov    %eax,%eax
40351c:	53                   	push   %ebx
40351d:	56                   	push   %esi
40351e:	57                   	push   %edi
40351f:	31 c9                	xor    %ecx,%ecx
403521:	31 ff                	xor    %edi,%edi
403523:	8a 1a                	mov    (%edx),%bl
403525:	50                   	push   %eax
403526:	8b 00                	mov    (%eax),%eax
403528:	8b 70 c8             	mov    -0x38(%eax),%esi
40352b:	85 f6                	test   %esi,%esi
40352d:	74 14                	je     0x403543
40352f:	66 8b 3e             	mov    (%esi),%di
403532:	83 c6 06             	add    $0x6,%esi
403535:	8a 4e 06             	mov    0x6(%esi),%cl
403538:	38 d9                	cmp    %bl,%cl
40353a:	74 18                	je     0x403554
40353c:	8d 74 31 07          	lea    0x7(%ecx,%esi,1),%esi
403540:	4f                   	dec    %edi
403541:	75 f2                	jne    0x403535
403543:	8b 40 dc             	mov    -0x24(%eax),%eax
403546:	85 c0                	test   %eax,%eax
403548:	75 dc                	jne    0x403526
40354a:	5a                   	pop    %edx
40354b:	eb 1b                	jmp    0x403568
40354d:	8a 1a                	mov    (%edx),%bl
40354f:	8a 4e 06             	mov    0x6(%esi),%cl
403552:	eb e8                	jmp    0x40353c
403554:	8a 5c 31 06          	mov    0x6(%ecx,%esi,1),%bl
403558:	32 1c 11             	xor    (%ecx,%edx,1),%bl
40355b:	80 e3 df             	and    $0xdf,%bl
40355e:	75 ed                	jne    0x40354d
403560:	49                   	dec    %ecx
403561:	75 f1                	jne    0x403554
403563:	8b 06                	mov    (%esi),%eax
403565:	5a                   	pop    %edx
403566:	01 d0                	add    %edx,%eax
403568:	5f                   	pop    %edi
403569:	5e                   	pop    %esi
40356a:	5b                   	pop    %ebx
40356b:	c3                   	ret
40356c:	52                   	push   %edx
40356d:	51                   	push   %ecx
40356e:	53                   	push   %ebx
40356f:	84 d2                	test   %dl,%dl
403571:	7c 03                	jl     0x403576
403573:	ff 50 f4             	call   *-0xc(%eax)
403576:	31 d2                	xor    %edx,%edx
403578:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40357c:	64 8b 1a             	mov    %fs:(%edx),%ebx
40357f:	89 19                	mov    %ebx,(%ecx)
403581:	89 69 08             	mov    %ebp,0x8(%ecx)
403584:	c7 41 04 95 35 40 00 	movl   $0x403595,0x4(%ecx)
40358b:	89 41 0c             	mov    %eax,0xc(%ecx)
40358e:	64 89 0a             	mov    %ecx,%fs:(%edx)
403591:	5b                   	pop    %ebx
403592:	59                   	pop    %ecx
403593:	5a                   	pop    %edx
403594:	c3                   	ret
403595:	e9 4e 01 00 00       	jmp    0x4036e8
40359a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40359e:	8b 40 0c             	mov    0xc(%eax),%eax
4035a1:	85 c0                	test   %eax,%eax
4035a3:	74 0e                	je     0x4035b3
4035a5:	8b 08                	mov    (%eax),%ecx
4035a7:	b2 81                	mov    $0x81,%dl