4095d6:	89 43 1c             	mov    %eax,0x1c(%ebx)
4095d9:	ff 15 40 b0 41 00    	call   *0x41b040
4095df:	ff 77 24             	push   0x24(%edi)
4095e2:	ff 77 20             	push   0x20(%edi)
4095e5:	ff 73 04             	push   0x4(%ebx)
4095e8:	ff 15 44 b0 41 00    	call   *0x41b044
4095ee:	8b 4f 0c             	mov    0xc(%edi),%ecx
4095f1:	89 4b 18             	mov    %ecx,0x18(%ebx)
4095f4:	39 73 14             	cmp    %esi,0x14(%ebx)
4095f7:	74 16                	je     0x40960f
4095f9:	e8 b0 f8 ff ff       	call   0x408eae
4095fe:	8b 4b 14             	mov    0x14(%ebx),%ecx
409601:	0f b7 04 85 30 51 41 	movzwl 0x415130(,%eax,4),%eax
409608:	00
409609:	50                   	push   %eax
40960a:	e8 b9 5e 00 00       	call   0x40f4c8
40960f:	ff 37                	push   (%edi)
409611:	ff 15 08 b2 41 00    	call   *0x41b208
409617:	56                   	push   %esi
409618:	ff 37                	push   (%edi)
40961a:	ff 15 dc b1 41 00    	call   *0x41b1dc
409620:	eb 6d                	jmp    0x40968f
409622:	8b 4b 14             	mov    0x14(%ebx),%ecx
409625:	85 c9                	test   %ecx,%ecx
409627:	74 69                	je     0x409692
409629:	0f b7 47 0c          	movzwl 0xc(%edi),%eax
40962d:	50                   	push   %eax
40962e:	e8 ca 61 00 00       	call   0x40f7fd
409633:	89 45 fc             	mov    %eax,-0x4(%ebp)
409636:	85 c0                	test   %eax,%eax
409638:	74 58                	je     0x409692
40963a:	50                   	push   %eax
40963b:	ff 15 00 b2 41 00    	call   *0x41b200
409641:	85 c0                	test   %eax,%eax
409643:	74 4d                	je     0x409692
409645:	ff 75 fc             	push   -0x4(%ebp)
409648:	8b cb                	mov    %ebx,%ecx
40964a:	e8 7d 03 00 00       	call   0x4099cc
40964f:	56                   	push   %esi
409650:	56                   	push   %esi
409651:	68 42 10 00 00       	push   $0x1042
409656:	ff 37                	push   (%edi)
409658:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40965e:	8b d8                	mov    %eax,%ebx
409660:	83 fb ff             	cmp    $0xffffffff,%ebx
409663:	74 2a                	je     0x40968f
409665:	6a 03                	push   $0x3
409667:	58                   	pop    %eax
409668:	89 45 c8             	mov    %eax,-0x38(%ebp)
40966b:	89 45 c4             	mov    %eax,-0x3c(%ebp)
40966e:	8d 45 b8             	lea    -0x48(%ebp),%eax
409671:	50                   	push   %eax
409672:	53                   	push   %ebx
409673:	68 2b 10 00 00       	push   $0x102b
409678:	ff 37                	push   (%edi)
40967a:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409680:	56                   	push   %esi
409681:	53                   	push   %ebx
409682:	68 2a 10 00 00       	push   $0x102a
409687:	ff 37                	push   (%edi)
409689:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40968f:	33 f6                	xor    %esi,%esi
409691:	46                   	inc    %esi
409692:	5f                   	pop    %edi
409693:	8b c6                	mov    %esi,%eax
409695:	5e                   	pop    %esi
409696:	5b                   	pop    %ebx
409697:	c9                   	leave
409698:	c2 04 00             	ret    $0x4
40969b:	8b ff                	mov    %edi,%edi
40969d:	55                   	push   %ebp
40969e:	8b ec                	mov    %esp,%ebp
4096a0:	83 ec 44             	sub    $0x44,%esp
4096a3:	53                   	push   %ebx
4096a4:	56                   	push   %esi
4096a5:	8b f1                	mov    %ecx,%esi
4096a7:	57                   	push   %edi
4096a8:	89 75 f8             	mov    %esi,-0x8(%ebp)
4096ab:	8b 4e 14             	mov    0x14(%esi),%ecx
4096ae:	85 c9                	test   %ecx,%ecx
4096b0:	74 05                	je     0x4096b7
4096b2:	e8 31 5a 00 00       	call   0x40f0e8
4096b7:	68 ed 03 00 00       	push   $0x3ed
4096bc:	ff 76 04             	push   0x4(%esi)
4096bf:	ff 15 d0 b1 41 00    	call   *0x41b1d0
4096c5:	33 db                	xor    %ebx,%ebx
4096c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
4096ca:	53                   	push   %ebx
4096cb:	53                   	push   %ebx
4096cc:	68 09 10 00 00       	push   $0x1009
4096d1:	50                   	push   %eax
4096d2:	ff 15 d8 b1 41 00    	call   *0x41b1d8
4096d8:	6a 3c                	push   $0x3c
4096da:	8d 45 bc             	lea    -0x44(%ebp),%eax
4096dd:	53                   	push   %ebx
4096de:	50                   	push   %eax
4096df:	e8 7d aa 00 00       	call   0x414161
4096e4:	8b 75 fc             	mov    -0x4(%ebp),%esi
4096e7:	83 c4 0c             	add    $0xc,%esp
4096ea:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
4096f1:	bf 30 51 41 00       	mov    $0x415130,%edi
4096f6:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
4096f9:	8a cb                	mov    %bl,%cl
4096fb:	e8 7d 61 00 00       	call   0x40f87d
409700:	66 89 07             	mov    %ax,(%edi)
409703:	8d 45 bc             	lea    -0x44(%ebp),%eax
409706:	50                   	push   %eax
409707:	6a 00                	push   $0x0
409709:	68 4d 10 00 00       	push   $0x104d
40970e:	56                   	push   %esi
40970f:	89 5d c0             	mov    %ebx,-0x40(%ebp)
409712:	89 7d d0             	mov    %edi,-0x30(%ebp)
409715:	ff 15 d8 b1 41 00    	call   *0x41b1d8
40971b:	43                   	inc    %ebx
40971c:	83 c7 04             	add    $0x4,%edi
40971f:	83 fb 29             	cmp    $0x29,%ebx
409722:	72 d5                	jb     0x4096f9
409724:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409727:	6a 01                	push   $0x1
409729:	68 ed 03 00 00       	push   $0x3ed
40972e:	e8 39 35 00 00       	call   0x40cc6c
409733:	8b 4d f8             	mov    -0x8(%ebp),%ecx
409736:	6a 00                	push   $0x0
409738:	6a 01                	push   $0x1
40973a:	e8 2d 35 00 00       	call   0x40cc6c
40973f:	5f                   	pop    %edi
409740:	5e                   	pop    %esi
409741:	5b                   	pop    %ebx
409742:	c9                   	leave
409743:	c3                   	ret
409744:	8b ff                	mov    %edi,%edi
409746:	56                   	push   %esi
409747:	6a 43                	push   $0x43
409749:	51                   	push   %ecx
40974a:	8b f1                	mov    %ecx,%esi
40974c:	6a 32                	push   $0x32
40974e:	5a                   	pop    %edx
40974f:	8b 4e 04             	mov    0x4(%esi),%ecx
409752:	e8 94 66 00 00       	call   0x40fdeb
409757:	83 e8 06             	sub    $0x6,%eax
40975a:	74 07                	je     0x409763
40975c:	83 e8 01             	sub    $0x1,%eax
40975f:	74 09                	je     0x40976a
409761:	5e                   	pop    %esi
409762:	c3                   	ret
409763:	8b ce                	mov    %esi,%ecx
409765:	e8 47 03 00 00       	call   0x409ab1
40976a:	33 c0                	xor    %eax,%eax
40976c:	39 46 14             	cmp    %eax,0x14(%esi)
40976f:	74 0f                	je     0x409780
409771:	a3 20 98 41 00       	mov    %eax,0x419820
409776:	a3 24 98 41 00       	mov    %eax,0x419824
40977b:	e8 f7 5a 00 00       	call   0x40f277
409780:	6a 02                	push   $0x2
409782:	ff 76 04             	push   0x4(%esi)
409785:	ff 15 b8 b2 41 00    	call   *0x41b2b8
40978b:	5e                   	pop    %esi
40978c:	c3                   	ret
40978d:	cc                   	int3
40978e:	cc                   	int3
40978f:	cc                   	int3
409790:	e8 af ff ff ff       	call   0x409744
409795:	33 c0                	xor    %eax,%eax
409797:	40                   	inc    %eax
409798:	c3                   	ret
409799:	cc                   	int3
40979a:	cc                   	int3
40979b:	cc                   	int3
40979c:	cc                   	int3
40979d:	cc                   	int3
40979e:	cc                   	int3
40979f:	cc                   	int3
4097a0:	8b ff                	mov    %edi,%edi
4097a2:	55                   	push   %ebp
4097a3:	8b ec                	mov    %esp,%ebp
4097a5:	83 e4 f8             	and    $0xfffffff8,%esp
4097a8:	83 ec 44             	sub    $0x44,%esp
4097ab:	a1 18 51 41 00       	mov    0x415118,%eax
4097b0:	33 c4                	xor    %esp,%eax
4097b2:	89 44 24 40          	mov    %eax,0x40(%esp)
4097b6:	53                   	push   %ebx
4097b7:	56                   	push   %esi
4097b8:	8b f1                	mov    %ecx,%esi
4097ba:	57                   	push   %edi
4097bb:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
4097bf:	0f 84 ed 00 00 00    	je     0x4098b2
4097c5:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4097c8:	83 64 24 0c 00       	andl   $0x0,0xc(%esp)
4097cd:	0f b7 c3             	movzwl %bx,%eax
4097d0:	6a 02                	push   $0x2
4097d2:	c1 eb 10             	shr    $0x10,%ebx
4097d5:	53                   	push   %ebx
4097d6:	50                   	push   %eax
4097d7:	ff 76 04             	push   0x4(%esi)
4097da:	89 44 24 28          	mov    %eax,0x28(%esp)
4097de:	89 44 24 20          	mov    %eax,0x20(%esp)
4097e2:	89 5c 24 24          	mov    %ebx,0x24(%esp)
4097e6:	ff 15 54 b2 41 00    	call   *0x41b254
4097ec:	8b f8                	mov    %eax,%edi
4097ee:	8d 44 24 1c          	lea    0x1c(%esp),%eax
4097f2:	50                   	push   %eax
4097f3:	68 0b 04 00 00       	push   $0x40b
4097f8:	ff 76 04             	push   0x4(%esi)
4097fb:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409801:	50                   	push   %eax
409802:	ff 15 f8 b1 41 00    	call   *0x41b1f8
409808:	8d 44 24 10          	lea    0x10(%esp),%eax
40980c:	50                   	push   %eax
40980d:	ff 76 04             	push   0x4(%esi)
409810:	ff 15 ec b1 41 00    	call   *0x41b1ec
409816:	ff 74 24 14          	push   0x14(%esp)
40981a:	8d 44 24 20          	lea    0x20(%esp),%eax
40981e:	ff 74 24 14          	push   0x14(%esp)
409822:	50                   	push   %eax
409823:	ff 15 10 b2 41 00    	call   *0x41b210
409829:	85 c0                	test   %eax,%eax
40982b:	74 2e                	je     0x40985b
40982d:	39 7e 04             	cmp    %edi,0x4(%esi)
409830:	74 45                	je     0x409877
409832:	8d 44 24 0c          	lea    0xc(%esp),%eax
409836:	50                   	push   %eax
409837:	6a 00                	push   $0x0
409839:	68 01 80 00 00       	push   $0x8001
40983e:	57                   	push   %edi
40983f:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409845:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
40984a:	74 0f                	je     0x40985b
40984c:	6a 01                	push   $0x1
40984e:	ff 15 5c b0 41 00    	call   *0x41b05c
409854:	68 89 7f 00 00       	push   $0x7f89
409859:	eb 0d                	jmp    0x409868
40985b:	6a 00                	push   $0x0
40985d:	ff 15 5c b0 41 00    	call   *0x41b05c
409863:	68 88 7f 00 00       	push   $0x7f88
409868:	6a 00                	push   $0x0
40986a:	ff 15 18 b2 41 00    	call   *0x41b218
409870:	50                   	push   %eax
409871:	ff 15 14 b2 41 00    	call   *0x41b214
409877:	6a 08                	push   $0x8
409879:	59                   	pop    %ecx
40987a:	33 c0                	xor    %eax,%eax
40987c:	8d 7c 24 2c          	lea    0x2c(%esp),%edi
409880:	f3 ab                	rep stos %eax,%es:(%edi)
409882:	8d 44 24 2c          	lea    0x2c(%esp),%eax
409886:	50                   	push   %eax
409887:	6a 00                	push   $0x0
409889:	ff 76 1c             	push   0x1c(%esi)
40988c:	ff 15 60 b0 41 00    	call   *0x41b060
409892:	6a 04                	push   $0x4
409894:	ff 15 fc b1 41 00    	call   *0x41b1fc
40989a:	2b 5c 24 48          	sub    0x48(%esp),%ebx
40989e:	03 44 24 40          	add    0x40(%esp),%eax
4098a2:	83 c3 06             	add    $0x6,%ebx
4098a5:	03 c3                	add    %ebx,%eax
4098a7:	50                   	push   %eax
4098a8:	ff 74 24 1c          	push   0x1c(%esp)
4098ac:	ff 15 3c b0 41 00    	call   *0x41b03c
4098b2:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
4098b6:	33 c0                	xor    %eax,%eax
4098b8:	5f                   	pop    %edi
4098b9:	5e                   	pop    %esi
4098ba:	5b                   	pop    %ebx
4098bb:	33 cc                	xor    %esp,%ecx
4098bd:	e8 1e a0 00 00       	call   0x4138e0
4098c2:	8b e5                	mov    %ebp,%esp
4098c4:	5d                   	pop    %ebp
4098c5:	c2 08 00             	ret    $0x8
4098c8:	cc                   	int3
4098c9:	cc                   	int3
4098ca:	cc                   	int3
4098cb:	cc                   	int3
4098cc:	cc                   	int3
4098cd:	cc                   	int3
4098ce:	cc                   	int3
4098cf:	cc                   	int3
4098d0:	8b ff                	mov    %edi,%edi
4098d2:	55                   	push   %ebp
4098d3:	8b ec                	mov    %esp,%ebp
4098d5:	83 ec 1c             	sub    $0x1c,%esp
4098d8:	a1 18 51 41 00       	mov    0x415118,%eax
4098dd:	33 c5                	xor    %ebp,%eax
4098df:	89 45 fc             	mov    %eax,-0x4(%ebp)
4098e2:	53                   	push   %ebx
4098e3:	56                   	push   %esi
4098e4:	8b f1                	mov    %ecx,%esi
4098e6:	6a 01                	push   $0x1
4098e8:	68 ed 03 00 00       	push   $0x3ed
4098ed:	ff 76 04             	push   0x4(%esi)
4098f0:	ff 15 d0 b1 41 00    	call   *0x41b1d0
4098f6:	50                   	push   %eax
4098f7:	ff 15 dc b1 41 00    	call   *0x41b1dc
4098fd:	33 db                	xor    %ebx,%ebx
4098ff:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
409902:	0f 84 b2 00 00 00    	je     0x4099ba
409908:	57                   	push   %edi
409909:	ff 15 58 b0 41 00    	call   *0x41b058
40990f:	ff 76 04             	push   0x4(%esi)
409912:	ff 15 54 b0 41 00    	call   *0x41b054
409918:	ff 76 1c             	push   0x1c(%esi)
40991b:	ff 15 64 b0 41 00    	call   *0x41b064
409921:	68 00 7f 00 00       	push   $0x7f00
409926:	53                   	push   %ebx
409927:	89 5e 1c             	mov    %ebx,0x1c(%esi)
40992a:	ff 15 18 b2 41 00    	call   *0x41b218
409930:	50                   	push   %eax
409931:	ff 15 14 b2 41 00    	call   *0x41b214
409937:	ff 15 1c b2 41 00    	call   *0x41b21c
40993d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409940:	0f b7 c1             	movzwl %cx,%eax
409943:	53                   	push   %ebx
409944:	c1 e9 10             	shr    $0x10,%ecx
409947:	51                   	push   %ecx
409948:	50                   	push   %eax
409949:	ff 76 04             	push   0x4(%esi)
40994c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40994f:	89 4d e8             	mov    %ecx,-0x18(%ebp)
409952:	ff 15 54 b2 41 00    	call   *0x41b254
409958:	8b f8                	mov    %eax,%edi
40995a:	57                   	push   %edi
40995b:	ff 15 00 b2 41 00    	call   *0x41b200
409961:	85 c0                	test   %eax,%eax
409963:	74 47                	je     0x4099ac
409965:	8d 45 ec             	lea    -0x14(%ebp),%eax
409968:	50                   	push   %eax
409969:	68 0b 04 00 00       	push   $0x40b
40996e:	ff 76 04             	push   0x4(%esi)
409971:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409977:	50                   	push   %eax
409978:	ff 15 f8 b1 41 00    	call   *0x41b1f8
40997e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
409981:	50                   	push   %eax
409982:	ff 76 04             	push   0x4(%esi)
409985:	ff 15 ec b1 41 00    	call   *0x41b1ec
40998b:	ff 75 e8             	push   -0x18(%ebp)
40998e:	8d 45 ec             	lea    -0x14(%ebp),%eax
409991:	ff 75 e4             	push   -0x1c(%ebp)
409994:	50                   	push   %eax
409995:	ff 15 10 b2 41 00    	call   *0x41b210
40999b:	85 c0                	test   %eax,%eax
40999d:	74 0d                	je     0x4099ac
40999f:	39 7e 04             	cmp    %edi,0x4(%esi)
4099a2:	74 08                	je     0x4099ac
4099a4:	57                   	push   %edi
4099a5:	8b ce                	mov    %esi,%ecx
4099a7:	e8 20 00 00 00       	call   0x4099cc
4099ac:	8b 4e 14             	mov    0x14(%esi),%ecx
4099af:	5f                   	pop    %edi
4099b0:	85 c9                	test   %ecx,%ecx
4099b2:	74 06                	je     0x4099ba
4099b4:	53                   	push   %ebx