40867d:	ff 15 84 a1 44 00    	call   *0x44a184
408683:	85 c0                	test   %eax,%eax
408685:	0f 84 e6 2c 01 00    	je     0x41b371
40868b:	6a 20                	push   $0x20
40868d:	5e                   	pop    %esi
40868e:	56                   	push   %esi
40868f:	bf 70 c9 43 00       	mov    $0x43c970,%edi
408694:	57                   	push   %edi
408695:	6a 31                	push   $0x31
408697:	53                   	push   %ebx
408698:	ff 15 84 a1 44 00    	call   *0x44a184
40869e:	85 c0                	test   %eax,%eax
4086a0:	0f 84 03 2d 01 00    	je     0x41b3a9
4086a6:	56                   	push   %esi
4086a7:	bf 30 c9 43 00       	mov    $0x43c930,%edi
4086ac:	57                   	push   %edi
4086ad:	6a 32                	push   $0x32
4086af:	53                   	push   %ebx
4086b0:	ff 15 84 a1 44 00    	call   *0x44a184
4086b6:	85 c0                	test   %eax,%eax
4086b8:	0f 84 23 2d 01 00    	je     0x41b3e1
4086be:	56                   	push   %esi
4086bf:	bf f0 c8 43 00       	mov    $0x43c8f0,%edi
4086c4:	57                   	push   %edi
4086c5:	6a 33                	push   $0x33
4086c7:	53                   	push   %ebx
4086c8:	ff 15 84 a1 44 00    	call   *0x44a184
4086ce:	85 c0                	test   %eax,%eax
4086d0:	0f 84 43 2d 01 00    	je     0x41b419
4086d6:	56                   	push   %esi
4086d7:	bf b0 c8 43 00       	mov    $0x43c8b0,%edi
4086dc:	57                   	push   %edi
4086dd:	6a 34                	push   $0x34
4086df:	53                   	push   %ebx
4086e0:	ff 15 84 a1 44 00    	call   *0x44a184
4086e6:	85 c0                	test   %eax,%eax
4086e8:	0f 84 63 2d 01 00    	je     0x41b451
4086ee:	56                   	push   %esi
4086ef:	bf 70 c8 43 00       	mov    $0x43c870,%edi
4086f4:	57                   	push   %edi
4086f5:	6a 35                	push   $0x35
4086f7:	53                   	push   %ebx
4086f8:	ff 15 84 a1 44 00    	call   *0x44a184
4086fe:	85 c0                	test   %eax,%eax
408700:	0f 84 83 2d 01 00    	je     0x41b489
408706:	56                   	push   %esi
408707:	bf 30 c8 43 00       	mov    $0x43c830,%edi
40870c:	57                   	push   %edi
40870d:	6a 36                	push   $0x36
40870f:	53                   	push   %ebx
408710:	ff 15 84 a1 44 00    	call   *0x44a184
408716:	85 c0                	test   %eax,%eax
408718:	0f 84 a3 2d 01 00    	je     0x41b4c1
40871e:	56                   	push   %esi
40871f:	bf f0 c7 43 00       	mov    $0x43c7f0,%edi
408724:	57                   	push   %edi
408725:	6a 37                	push   $0x37
408727:	53                   	push   %ebx
408728:	ff 15 84 a1 44 00    	call   *0x44a184
40872e:	85 c0                	test   %eax,%eax
408730:	0f 84 c3 2d 01 00    	je     0x41b4f9
408736:	6a 08                	push   $0x8
408738:	5f                   	pop    %edi
408739:	57                   	push   %edi
40873a:	be c0 c9 43 00       	mov    $0x43c9c0,%esi
40873f:	56                   	push   %esi
408740:	6a 0e                	push   $0xe
408742:	53                   	push   %ebx
408743:	ff 15 84 a1 44 00    	call   *0x44a184
408749:	85 c0                	test   %eax,%eax
40874b:	0f 84 de 2d 01 00    	je     0x41b52f
408751:	57                   	push   %edi
408752:	be b0 c9 43 00       	mov    $0x43c9b0,%esi
408757:	56                   	push   %esi
408758:	6a 0f                	push   $0xf
40875a:	53                   	push   %ebx
40875b:	ff 15 84 a1 44 00    	call   *0x44a184
408761:	85 c0                	test   %eax,%eax
408763:	0f 84 fe 2d 01 00    	je     0x41b567
408769:	68 fc 21 40 00       	push   $0x4021fc
40876e:	6a 00                	push   $0x0
408770:	ff 15 14 a4 44 00    	call   *0x44a414
408776:	59                   	pop    %ecx
408777:	59                   	pop    %ecx
408778:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40877b:	5f                   	pop    %edi
40877c:	5e                   	pop    %esi
40877d:	33 cd                	xor    %ebp,%ecx
40877f:	5b                   	pop    %ebx
408780:	e8 ab e3 00 00       	call   0x416b30
408785:	c9                   	leave
408786:	c3                   	ret
408787:	1b c0                	sbb    %eax,%eax
408789:	83 c8 01             	or     $0x1,%eax
40878c:	e9 6c fe ff ff       	jmp    0x4085fd
408791:	ff 15 98 a1 44 00    	call   *0x44a198
408797:	8b c8                	mov    %eax,%ecx
408799:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
40879f:	66 83 f9 01          	cmp    $0x1,%cx
4087a3:	74 1f                	je     0x4087c4
4087a5:	66 83 f9 0d          	cmp    $0xd,%cx
4087a9:	74 19                	je     0x4087c4
4087ab:	66 83 f9 1e          	cmp    $0x1e,%cx
4087af:	74 13                	je     0x4087c4
4087b1:	66 83 f9 39          	cmp    $0x39,%cx
4087b5:	74 0d                	je     0x4087c4
4087b7:	66 83 f9 49          	cmp    $0x49,%cx
4087bb:	74 07                	je     0x4087c4
4087bd:	66 83 f9 29          	cmp    $0x29,%cx
4087c1:	74 01                	je     0x4087c4
4087c3:	c3                   	ret
4087c4:	b8 09 04 00 00       	mov    $0x409,%eax
4087c9:	c3                   	ret
4087ca:	8b ff                	mov    %edi,%edi
4087cc:	55                   	push   %ebp
4087cd:	8b ec                	mov    %esp,%ebp
4087cf:	83 ec 64             	sub    $0x64,%esp
4087d2:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4087d7:	33 c5                	xor    %ebp,%eax
4087d9:	89 45 fc             	mov    %eax,-0x4(%ebp)
4087dc:	56                   	push   %esi
4087dd:	b8 04 ca 43 00       	mov    $0x43ca04,%eax
4087e2:	8b f1                	mov    %ecx,%esi
4087e4:	57                   	push   %edi
4087e5:	50                   	push   %eax
4087e6:	89 75 9c             	mov    %esi,-0x64(%ebp)
4087e9:	a3 a4 25 43 00       	mov    %eax,0x4325a4
4087ee:	ff 15 98 a2 44 00    	call   *0x44a298
4087f4:	ff 35 a4 25 43 00    	push   0x4325a4
4087fa:	ff 15 9c a2 44 00    	call   *0x44a29c
408800:	ff 35 a4 25 43 00    	push   0x4325a4
408806:	33 ff                	xor    %edi,%edi
408808:	89 3d 9c 25 43 00    	mov    %edi,0x43259c
40880e:	ff 15 a8 a2 44 00    	call   *0x44a2a8
408814:	6a 01                	push   $0x1
408816:	68 60 74 42 00       	push   $0x427460
40881b:	ff 15 18 a0 44 00    	call   *0x44a018
408821:	68 20 ca 43 00       	push   $0x43ca20
408826:	6a 01                	push   $0x1
408828:	ff 15 2c a4 44 00    	call   *0x44a42c
40882e:	59                   	pop    %ecx
40882f:	50                   	push   %eax
408830:	ff 15 10 a0 44 00    	call   *0x44a010
408836:	68 1c ca 43 00       	push   $0x43ca1c
40883b:	57                   	push   %edi
40883c:	ff 15 2c a4 44 00    	call   *0x44a42c
408842:	59                   	pop    %ecx
408843:	50                   	push   %eax
408844:	ff 15 10 a0 44 00    	call   *0x44a010
40884a:	e8 c1 5a 00 00       	call   0x40e310
40884f:	e8 80 21 00 00       	call   0x40a9d4
408854:	a3 94 25 43 00       	mov    %eax,0x432594
408859:	e8 38 03 00 00       	call   0x408b96
40885e:	8b ce                	mov    %esi,%ecx
408860:	a3 90 25 43 00       	mov    %eax,0x432590
408865:	e8 09 fa ff ff       	call   0x408273
40886a:	ff 15 e0 a1 44 00    	call   *0x44a1e0
408870:	8d 50 02             	lea    0x2(%eax),%edx
408873:	66 8b 08             	mov    (%eax),%cx
408876:	83 c0 02             	add    $0x2,%eax
408879:	66 3b cf             	cmp    %di,%cx
40887c:	75 f5                	jne    0x408873
40887e:	2b c2                	sub    %edx,%eax
408880:	b9 00 20 00 00       	mov    $0x2000,%ecx
408885:	d1 f8                	sar    $1,%eax
408887:	40                   	inc    %eax
408888:	3b c1                	cmp    %ecx,%eax
40888a:	0f 87 a7 02 00 00    	ja     0x408b37
408890:	8b d1                	mov    %ecx,%edx
408892:	8d 4d a0             	lea    -0x60(%ebp),%ecx
408895:	e8 6b 91 00 00       	call   0x411a05
40889a:	8b 75 a0             	mov    -0x60(%ebp),%esi
40889d:	85 f6                	test   %esi,%esi
40889f:	0f 84 8a 02 00 00    	je     0x408b2f
4088a5:	ff 15 e0 a1 44 00    	call   *0x44a1e0
4088ab:	50                   	push   %eax
4088ac:	ba 00 20 00 00       	mov    $0x2000,%edx
4088b1:	8b ce                	mov    %esi,%ecx
4088b3:	e8 e8 6a 00 00       	call   0x40f3a0
4088b8:	33 c0                	xor    %eax,%eax
4088ba:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
4088bf:	38 05 fc 8d 44 00    	cmp    %al,0x448dfc
4088c5:	0f 94 c0             	sete   %al
4088c8:	48                   	dec    %eax
4088c9:	25 e3 7e 00 00       	and    $0x7ee3,%eax
4088ce:	05 04 01 00 00       	add    $0x104,%eax
4088d3:	50                   	push   %eax
4088d4:	e8 17 5b 00 00       	call   0x40e3f0
4088d9:	85 c0                	test   %eax,%eax
4088db:	0f 88 4e 02 00 00    	js     0x408b2f
4088e1:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
4088e7:	85 c9                	test   %ecx,%ecx
4088e9:	75 05                	jne    0x4088f0
4088eb:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
4088f0:	8b 15 00 8e 44 00    	mov    0x448e00,%edx
4088f6:	57                   	push   %edi
4088f7:	e8 a2 05 00 00       	call   0x408e9e
4088fc:	e8 e8 77 00 00       	call   0x4100e9
408901:	8b ce                	mov    %esi,%ecx
408903:	8d 51 02             	lea    0x2(%ecx),%edx
408906:	66 8b 01             	mov    (%ecx),%ax
408909:	83 c1 02             	add    $0x2,%ecx
40890c:	66 3b c7             	cmp    %di,%ax
40890f:	75 f5                	jne    0x408906
408911:	2b ca                	sub    %edx,%ecx
408913:	d1 f9                	sar    $1,%ecx
408915:	51                   	push   %ecx
408916:	8b 4d 9c             	mov    -0x64(%ebp),%ecx
408919:	56                   	push   %esi
40891a:	6a 04                	push   $0x4
40891c:	5a                   	pop    %edx
40891d:	e8 2a 19 00 00       	call   0x40a24c
408922:	a1 f8 8d 44 00       	mov    0x448df8,%eax
408927:	ba f0 8b 44 00       	mov    $0x448bf0,%edx
40892c:	8b c8                	mov    %eax,%ecx
40892e:	85 c0                	test   %eax,%eax
408930:	75 02                	jne    0x408934
408932:	8b ca                	mov    %edx,%ecx
408934:	6a 5c                	push   $0x5c
408936:	5e                   	pop    %esi
408937:	66 39 31             	cmp    %si,(%ecx)
40893a:	8b 75 a0             	mov    -0x60(%ebp),%esi
40893d:	75 6c                	jne    0x4089ab
40893f:	8b c8                	mov    %eax,%ecx
408941:	85 c0                	test   %eax,%eax
408943:	75 02                	jne    0x408947
408945:	8b ca                	mov    %edx,%ecx
408947:	6a 5c                	push   $0x5c
408949:	5e                   	pop    %esi
40894a:	66 39 71 02          	cmp    %si,0x2(%ecx)
40894e:	8b 75 a0             	mov    -0x60(%ebp),%esi
408951:	75 58                	jne    0x4089ab
408953:	80 3d 51 90 44 00 00 	cmpb   $0x0,0x449051
40895a:	75 4f                	jne    0x4089ab
40895c:	85 c0                	test   %eax,%eax
40895e:	75 02                	jne    0x408962
408960:	8b c2                	mov    %edx,%eax
408962:	50                   	push   %eax
408963:	6a 01                	push   $0x1
408965:	68 c8 23 00 40       	push   $0x400023c8
40896a:	e8 75 ef ff ff       	call   0x4078e4
40896f:	a1 f8 8d 44 00       	mov    0x448df8,%eax
408974:	83 c4 0c             	add    $0xc,%esp
408977:	85 c0                	test   %eax,%eax
408979:	75 05                	jne    0x408980
40897b:	b8 f0 8b 44 00       	mov    $0x448bf0,%eax
408980:	ff 35 00 8e 44 00    	push   0x448e00
408986:	50                   	push   %eax
408987:	ff 15 d8 a2 44 00    	call   *0x44a2d8
40898d:	85 c0                	test   %eax,%eax
40898f:	0f 84 af 01 00 00    	je     0x408b44
408995:	8b 0d f8 8d 44 00    	mov    0x448df8,%ecx
40899b:	85 c9                	test   %ecx,%ecx
40899d:	75 05                	jne    0x4089a4
40899f:	b9 f0 8b 44 00       	mov    $0x448bf0,%ecx
4089a4:	33 d2                	xor    %edx,%edx
4089a6:	e8 1c 02 00 00       	call   0x408bc7
4089ab:	ff 15 1c a0 44 00    	call   *0x44a01c
4089b1:	68 f0 c9 43 00       	push   $0x43c9f0
4089b6:	50                   	push   %eax
4089b7:	a3 a0 25 43 00       	mov    %eax,0x4325a0
4089bc:	ff 15 9c a1 44 00    	call   *0x44a19c
4089c2:	e8 ab fb ff ff       	call   0x408572
4089c7:	68 0c 02 00 00       	push   $0x20c
4089cc:	57                   	push   %edi
4089cd:	ff 15 34 a1 44 00    	call   *0x44a134
4089d3:	50                   	push   %eax
4089d4:	ff 15 28 a1 44 00    	call   *0x44a128
4089da:	a3 a8 25 43 00       	mov    %eax,0x4325a8
4089df:	85 c0                	test   %eax,%eax
4089e1:	74 1a                	je     0x4089fd
4089e3:	68 04 01 00 00       	push   $0x104
4089e8:	50                   	push   %eax
4089e9:	ff 15 48 a0 44 00    	call   *0x44a048
4089ef:	85 c0                	test   %eax,%eax
4089f1:	75 0a                	jne    0x4089fd
4089f3:	a1 a8 25 43 00       	mov    0x4325a8,%eax
4089f8:	33 c9                	xor    %ecx,%ecx
4089fa:	66 89 08             	mov    %cx,(%eax)
4089fd:	39 3d 58 67 43 00    	cmp    %edi,0x436758
408a03:	75 4c                	jne    0x408a51
408a05:	33 c9                	xor    %ecx,%ecx
408a07:	41                   	inc    %ecx
408a08:	e8 04 10 00 00       	call   0x409a11
408a0d:	85 c0                	test   %eax,%eax
408a0f:	74 40                	je     0x408a51
408a11:	66 8b 0d 64 67 43 00 	mov    0x436764,%cx
408a18:	66 85 c9             	test   %cx,%cx
408a1b:	75 2f                	jne    0x408a4c
408a1d:	8d 45 a4             	lea    -0x5c(%ebp),%eax
408a20:	50                   	push   %eax
408a21:	6a f5                	push   $0xfffffff5
408a23:	ff 15 bc a1 44 00    	call   *0x44a1bc
408a29:	50                   	push   %eax
408a2a:	ff 15 28 a0 44 00    	call   *0x44a028
408a30:	85 c0                	test   %eax,%eax
408a32:	74 0c                	je     0x408a40
408a34:	66 8b 45 ac          	mov    -0x54(%ebp),%ax
408a38:	66 a3 64 67 43 00    	mov    %ax,0x436764
408a3e:	eb 11                	jmp    0x408a51
408a40:	66 8b 0d 64 67 43 00 	mov    0x436764,%cx
408a47:	66 85 c9             	test   %cx,%cx
408a4a:	74 05                	je     0x408a51
408a4c:	e8 45 fa 01 00       	call   0x428496
408a51:	8b 45 9c             	mov    -0x64(%ebp),%eax
408a54:	39 78 08             	cmp    %edi,0x8(%eax)
408a57:	75 62                	jne    0x408abb
408a59:	e8 78 e6 01 00       	call   0x4270d6
408a5e:	8d 4d bc             	lea    -0x44(%ebp),%ecx
408a61:	89 45 a0             	mov    %eax,-0x60(%ebp)
408a64:	e8 9f c2 ff ff       	call   0x404d08
408a69:	8d 45 bc             	lea    -0x44(%ebp),%eax
408a6c:	50                   	push   %eax
408a6d:	6a 01                	push   $0x1
408a6f:	68 50 23 00 00       	push   $0x2350
408a74:	e8 44 d9 ff ff       	call   0x4063bd
408a79:	68 8c 1f 40 00       	push   $0x401f8c
408a7e:	e8 cd 0e 00 00       	call   0x409950
408a83:	8b 45 a0             	mov    -0x60(%ebp),%eax
408a86:	83 c4 10             	add    $0x10,%esp
408a89:	85 c0                	test   %eax,%eax
408a8b:	74 1a                	je     0x408aa7
408a8d:	50                   	push   %eax
408a8e:	68 00 1f 40 00       	push   $0x401f00
408a93:	e8 b8 0e 00 00       	call   0x409950
408a98:	68 8c 1f 40 00       	push   $0x401f8c
408a9d:	e8 ae 0e 00 00       	call   0x409950
408aa2:	83 c4 0c             	add    $0xc,%esp
408aa5:	eb 0a                	jmp    0x408ab1
408aa7:	57                   	push   %edi
408aa8:	6a 08                	push   $0x8
408aaa:	e8 35 ee ff ff       	call   0x4078e4
408aaf:	59                   	pop    %ecx
408ab0:	59                   	pop    %ecx
408ab1:	8b 45 a0             	mov    -0x60(%ebp),%eax
408ab4:	50                   	push   %eax
408ab5:	ff 15 44 a1 44 00    	call   *0x44a144
408abb:	68 04 27 40 00       	push   $0x402704
408ac0:	ff 15 74 a1 44 00    	call   *0x44a174
408ac6:	68 24 35 40 00       	push   $0x403524
408acb:	50                   	push   %eax
408acc:	a3 c8 e0 42 00       	mov    %eax,0x42e0c8
408ad1:	ff 15 68 a1 44 00    	call   *0x44a168
408ad7:	68 30 35 40 00       	push   $0x403530
408adc:	ff 35 c8 e0 42 00    	push   0x42e0c8
408ae2:	a3 b8 25 43 00       	mov    %eax,0x4325b8
408ae7:	ff 15 68 a1 44 00    	call   *0x44a168
408aed:	68 44 35 40 00       	push   $0x403544
408af2:	ff 35 c8 e0 42 00    	push   0x42e0c8
408af8:	ff 15 68 a1 44 00    	call   *0x44a168