403713:	8b ce                	mov    %esi,%ecx
403715:	6a 00                	push   $0x0
403717:	55                   	push   %ebp
403718:	e8 fa ea ff ff       	call   0x402217
40371d:	84 c0                	test   %al,%al
40371f:	74 30                	je     0x403751
403721:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
403725:	72 04                	jb     0x40372b
403727:	8b 0e                	mov    (%esi),%ecx
403729:	eb 02                	jmp    0x40372d
40372b:	8b ce                	mov    %esi,%ecx
40372d:	8b 46 10             	mov    0x10(%esi),%eax
403730:	8b d7                	mov    %edi,%edx
403732:	53                   	push   %ebx
403733:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
403736:	e8 31 da ff ff       	call   0x40116c
40373b:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40373f:	59                   	pop    %ecx
403740:	89 6e 10             	mov    %ebp,0x10(%esi)
403743:	72 04                	jb     0x403749
403745:	8b 06                	mov    (%esi),%eax
403747:	eb 02                	jmp    0x40374b
403749:	8b c6                	mov    %esi,%eax
40374b:	33 c9                	xor    %ecx,%ecx
40374d:	66 89 0c 68          	mov    %cx,(%eax,%ebp,2)
403751:	5f                   	pop    %edi
403752:	8b c6                	mov    %esi,%eax
403754:	5e                   	pop    %esi
403755:	5d                   	pop    %ebp
403756:	5b                   	pop    %ebx
403757:	c3                   	ret
403758:	e8 a6 eb ff ff       	call   0x402303
40375d:	cc                   	int3
40375e:	b8 90 ff 43 00       	mov    $0x43ff90,%eax
403763:	c3                   	ret
403764:	8d 44 24 0c          	lea    0xc(%esp),%eax
403768:	50                   	push   %eax
403769:	6a 00                	push   $0x0
40376b:	ff 74 24 10          	push   0x10(%esp)
40376f:	ff 74 24 10          	push   0x10(%esp)
403773:	e8 30 f0 ff ff       	call   0x4027a8
403778:	ff 70 04             	push   0x4(%eax)
40377b:	ff 30                	push   (%eax)
40377d:	e8 a5 e4 00 00       	call   0x411c27
403782:	83 c4 18             	add    $0x18,%esp
403785:	c3                   	ret
403786:	8d 44 24 0c          	lea    0xc(%esp),%eax
40378a:	50                   	push   %eax
40378b:	6a 00                	push   $0x0
40378d:	ff 74 24 10          	push   0x10(%esp)
403791:	ff 74 24 10          	push   0x10(%esp)
403795:	e8 c4 ff ff ff       	call   0x40375e
40379a:	8b 08                	mov    (%eax),%ecx
40379c:	ff 70 04             	push   0x4(%eax)
40379f:	83 c9 01             	or     $0x1,%ecx
4037a2:	51                   	push   %ecx
4037a3:	e8 4b 4c 01 00       	call   0x4183f3
4037a8:	83 c4 18             	add    $0x18,%esp
4037ab:	c3                   	ret
4037ac:	55                   	push   %ebp
4037ad:	8b ec                	mov    %esp,%ebp
4037af:	56                   	push   %esi
4037b0:	ff 75 08             	push   0x8(%ebp)
4037b3:	8b f1                	mov    %ecx,%esi
4037b5:	e8 b0 e8 ff ff       	call   0x40206a
4037ba:	83 4e 18 ff          	orl    $0xffffffff,0x18(%esi)
4037be:	8d 45 08             	lea    0x8(%ebp),%eax
4037c1:	83 4e 1c ff          	orl    $0xffffffff,0x1c(%esi)
4037c5:	8b ce                	mov    %esi,%ecx
4037c7:	83 66 20 00          	andl   $0x0,0x20(%esi)
4037cb:	50                   	push   %eax
4037cc:	68 b8 94 43 00       	push   $0x4394b8
4037d1:	e8 20 02 00 00       	call   0x4039f6
4037d6:	85 c0                	test   %eax,%eax
4037d8:	75 13                	jne    0x4037ed
4037da:	ff 75 08             	push   0x8(%ebp)
4037dd:	8b ce                	mov    %esi,%ecx
4037df:	e8 f4 00 00 00       	call   0x4038d8
4037e4:	ff 75 08             	push   0x8(%ebp)
4037e7:	e8 a7 fe 00 00       	call   0x413693
4037ec:	59                   	pop    %ecx
4037ed:	8b c6                	mov    %esi,%eax
4037ef:	5e                   	pop    %esi
4037f0:	5d                   	pop    %ebp
4037f1:	c2 04 00             	ret    $0x4
4037f4:	55                   	push   %ebp
4037f5:	8b ec                	mov    %esp,%ebp
4037f7:	83 e4 f8             	and    $0xfffffff8,%esp
4037fa:	83 ec 2c             	sub    $0x2c,%esp
4037fd:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
403802:	33 c4                	xor    %esp,%eax
403804:	89 44 24 28          	mov    %eax,0x28(%esp)
403808:	8b 45 0c             	mov    0xc(%ebp),%eax
40380b:	53                   	push   %ebx
40380c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40380f:	89 44 24 10          	mov    %eax,0x10(%esp)
403813:	8b 45 10             	mov    0x10(%ebp),%eax
403816:	56                   	push   %esi
403817:	89 44 24 10          	mov    %eax,0x10(%esp)
40381b:	8b f1                	mov    %ecx,%esi
40381d:	8b 45 14             	mov    0x14(%ebp),%eax
403820:	89 44 24 0c          	mov    %eax,0xc(%esp)
403824:	8d 44 24 18          	lea    0x18(%esp),%eax
403828:	57                   	push   %edi
403829:	50                   	push   %eax
40382a:	ff 15 48 11 43 00    	call   *0x431148
403830:	0f b7 44 24 1c       	movzwl 0x1c(%esp),%eax
403835:	6b c8 64             	imul   $0x64,%eax,%ecx
403838:	0f b7 44 24 1e       	movzwl 0x1e(%esp),%eax
40383d:	03 c8                	add    %eax,%ecx
40383f:	0f b7 44 24 22       	movzwl 0x22(%esp),%eax
403844:	6b f9 64             	imul   $0x64,%ecx,%edi
403847:	03 f8                	add    %eax,%edi
403849:	3b 7e 1c             	cmp    0x1c(%esi),%edi
40384c:	75 12                	jne    0x403860
40384e:	8b 46 18             	mov    0x18(%esi),%eax
403851:	83 f8 ff             	cmp    $0xffffffff,%eax
403854:	74 0a                	je     0x403860
403856:	39 46 20             	cmp    %eax,0x20(%esi)
403859:	7c 05                	jl     0x403860
40385b:	6a 03                	push   $0x3
40385d:	58                   	pop    %eax
40385e:	eb 64                	jmp    0x4038c4
403860:	83 64 24 0c 00       	andl   $0x0,0xc(%esp)
403865:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
403869:	68 bc 94 43 00       	push   $0x4394bc
40386e:	e8 7d e7 ff ff       	call   0x401ff0
403873:	8b 54 24 18          	mov    0x18(%esp),%edx
403877:	8d 44 24 0c          	lea    0xc(%esp),%eax
40387b:	50                   	push   %eax
40387c:	ff 74 24 14          	push   0x14(%esp)
403880:	8d 44 24 24          	lea    0x24(%esp),%eax
403884:	51                   	push   %ecx
403885:	50                   	push   %eax
403886:	ff 74 24 24          	push   0x24(%esp)
40388a:	8b cb                	mov    %ebx,%ecx
40388c:	e8 59 09 00 00       	call   0x4041ea
403891:	83 c4 14             	add    $0x14,%esp
403894:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
403898:	8a d8                	mov    %al,%bl
40389a:	6a 00                	push   $0x0
40389c:	6a 01                	push   $0x1
40389e:	e8 22 e8 ff ff       	call   0x4020c5
4038a3:	84 db                	test   %bl,%bl
4038a5:	74 0c                	je     0x4038b3
4038a7:	57                   	push   %edi
4038a8:	8b ce                	mov    %esi,%ecx
4038aa:	e8 e1 00 00 00       	call   0x403990
4038af:	6a 02                	push   $0x2
4038b1:	eb aa                	jmp    0x40385d
4038b3:	8b 44 24 0c          	mov    0xc(%esp),%eax
4038b7:	05 70 fe ff ff       	add    $0xfffffe70,%eax
4038bc:	6a 63                	push   $0x63
4038be:	59                   	pop    %ecx
4038bf:	3b c8                	cmp    %eax,%ecx
4038c1:	1b c0                	sbb    %eax,%eax
4038c3:	40                   	inc    %eax
4038c4:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4038c8:	5f                   	pop    %edi
4038c9:	5e                   	pop    %esi
4038ca:	5b                   	pop    %ebx
4038cb:	33 cc                	xor    %esp,%ecx
4038cd:	e8 d5 63 00 00       	call   0x409ca7
4038d2:	8b e5                	mov    %ebp,%esp
4038d4:	5d                   	pop    %ebp
4038d5:	c2 10 00             	ret    $0x10
4038d8:	81 ec 84 00 00 00    	sub    $0x84,%esp
4038de:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4038e3:	33 c4                	xor    %esp,%eax
4038e5:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
4038ec:	53                   	push   %ebx
4038ed:	57                   	push   %edi
4038ee:	8b bc 24 90 00 00 00 	mov    0x90(%esp),%edi
4038f5:	8d 44 24 08          	lea    0x8(%esp),%eax
4038f9:	57                   	push   %edi
4038fa:	68 80 00 00 00       	push   $0x80
4038ff:	50                   	push   %eax
403900:	8b d9                	mov    %ecx,%ebx
403902:	e8 8e fe 00 00       	call   0x413795
403907:	83 c4 0c             	add    $0xc,%esp
40390a:	85 c0                	test   %eax,%eax
40390c:	74 69                	je     0x403977
40390e:	b9 78 93 43 00       	mov    $0x439378,%ecx
403913:	8d 44 24 08          	lea    0x8(%esp),%eax
403917:	8a 10                	mov    (%eax),%dl
403919:	3a 11                	cmp    (%ecx),%dl
40391b:	75 1a                	jne    0x403937
40391d:	84 d2                	test   %dl,%dl
40391f:	74 12                	je     0x403933
403921:	8a 50 01             	mov    0x1(%eax),%dl
403924:	3a 51 01             	cmp    0x1(%ecx),%dl
403927:	75 0e                	jne    0x403937
403929:	83 c0 02             	add    $0x2,%eax
40392c:	83 c1 02             	add    $0x2,%ecx
40392f:	84 d2                	test   %dl,%dl
403931:	75 e4                	jne    0x403917
403933:	33 c0                	xor    %eax,%eax
403935:	eb 05                	jmp    0x40393c
403937:	1b c0                	sbb    %eax,%eax
403939:	83 c8 01             	or     $0x1,%eax
40393c:	85 c0                	test   %eax,%eax
40393e:	75 37                	jne    0x403977
403940:	55                   	push   %ebp
403941:	56                   	push   %esi
403942:	8d 73 1c             	lea    0x1c(%ebx),%esi
403945:	bd e8 94 43 00       	mov    $0x4394e8,%ebp
40394a:	56                   	push   %esi
40394b:	55                   	push   %ebp
40394c:	57                   	push   %edi
40394d:	e8 34 fe ff ff       	call   0x403786
403952:	83 c4 0c             	add    $0xc,%esp
403955:	83 f8 01             	cmp    $0x1,%eax
403958:	74 05                	je     0x40395f
40395a:	83 0e ff             	orl    $0xffffffff,(%esi)
40395d:	eb 16                	jmp    0x403975
40395f:	8d 73 20             	lea    0x20(%ebx),%esi
403962:	56                   	push   %esi
403963:	55                   	push   %ebp
403964:	57                   	push   %edi
403965:	e8 1c fe ff ff       	call   0x403786
40396a:	83 c4 0c             	add    $0xc,%esp
40396d:	83 f8 01             	cmp    $0x1,%eax
403970:	74 03                	je     0x403975
403972:	83 26 00             	andl   $0x0,(%esi)
403975:	5e                   	pop    %esi
403976:	5d                   	pop    %ebp
403977:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
40397e:	5f                   	pop    %edi
40397f:	5b                   	pop    %ebx
403980:	33 cc                	xor    %esp,%ecx
403982:	e8 20 63 00 00       	call   0x409ca7
403987:	81 c4 84 00 00 00    	add    $0x84,%esp
40398d:	c2 04 00             	ret    $0x4
403990:	55                   	push   %ebp
403991:	8b ec                	mov    %esp,%ebp
403993:	8b 45 08             	mov    0x8(%ebp),%eax
403996:	56                   	push   %esi
403997:	57                   	push   %edi
403998:	8b f9                	mov    %ecx,%edi
40399a:	8d 77 20             	lea    0x20(%edi),%esi
40399d:	3b 47 1c             	cmp    0x1c(%edi),%eax
4039a0:	74 06                	je     0x4039a8
4039a2:	83 26 00             	andl   $0x0,(%esi)
4039a5:	89 47 1c             	mov    %eax,0x1c(%edi)
4039a8:	ff 06                	incl   (%esi)
4039aa:	8d 45 08             	lea    0x8(%ebp),%eax
4039ad:	50                   	push   %eax
4039ae:	68 ec 94 43 00       	push   $0x4394ec
4039b3:	e8 3e 00 00 00       	call   0x4039f6
4039b8:	85 c0                	test   %eax,%eax
4039ba:	75 34                	jne    0x4039f0
4039bc:	ff 75 08             	push   0x8(%ebp)
4039bf:	68 78 93 43 00       	push   $0x439378
4039c4:	e8 96 ff 00 00       	call   0x41395f
4039c9:	ff 77 1c             	push   0x1c(%edi)
4039cc:	bf e8 94 43 00       	mov    $0x4394e8,%edi
4039d1:	57                   	push   %edi
4039d2:	ff 75 08             	push   0x8(%ebp)
4039d5:	e8 8a fd ff ff       	call   0x403764
4039da:	ff 36                	push   (%esi)
4039dc:	57                   	push   %edi
4039dd:	ff 75 08             	push   0x8(%ebp)
4039e0:	e8 7f fd ff ff       	call   0x403764
4039e5:	ff 75 08             	push   0x8(%ebp)
4039e8:	e8 a6 fc 00 00       	call   0x413693
4039ed:	83 c4 24             	add    $0x24,%esp
4039f0:	5f                   	pop    %edi
4039f1:	5e                   	pop    %esi
4039f2:	5d                   	pop    %ebp
4039f3:	c2 04 00             	ret    $0x4
4039f6:	83 79 10 00          	cmpl   $0x0,0x10(%ecx)
4039fa:	75 05                	jne    0x403a01
4039fc:	6a 02                	push   $0x2
4039fe:	58                   	pop    %eax
4039ff:	eb 19                	jmp    0x403a1a
403a01:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
403a05:	72 02                	jb     0x403a09
403a07:	8b 09                	mov    (%ecx),%ecx
403a09:	ff 74 24 04          	push   0x4(%esp)
403a0d:	51                   	push   %ecx
403a0e:	ff 74 24 10          	push   0x10(%esp)
403a12:	e8 05 fb 00 00       	call   0x41351c
403a17:	83 c4 0c             	add    $0xc,%esp
403a1a:	c2 08 00             	ret    $0x8
403a1d:	8d 44 24 10          	lea    0x10(%esp),%eax
403a21:	50                   	push   %eax
403a22:	6a 00                	push   $0x0
403a24:	ff 74 24 14          	push   0x14(%esp)
403a28:	ff 74 24 14          	push   0x14(%esp)
403a2c:	ff 74 24 14          	push   0x14(%esp)
403a30:	e8 73 ed ff ff       	call   0x4027a8
403a35:	ff 70 04             	push   0x4(%eax)
403a38:	ff 30                	push   (%eax)
403a3a:	e8 0e e3 00 00       	call   0x411d4d
403a3f:	83 c9 ff             	or     $0xffffffff,%ecx
403a42:	83 c4 1c             	add    $0x1c,%esp
403a45:	85 c0                	test   %eax,%eax
403a47:	0f 48 c1             	cmovs  %ecx,%eax
403a4a:	c3                   	ret
403a4b:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
403a4f:	b8 f0 94 43 00       	mov    $0x4394f0,%eax
403a54:	0f 45 41 04          	cmovne 0x4(%ecx),%eax
403a58:	c3                   	ret
403a59:	a1 ac fe 43 00       	mov    0x43feac,%eax
403a5e:	56                   	push   %esi
403a5f:	8b f1                	mov    %ecx,%esi
403a61:	85 c0                	test   %eax,%eax
403a63:	74 04                	je     0x403a69
403a65:	56                   	push   %esi
403a66:	ff d0                	call   *%eax
403a68:	59                   	pop    %ecx
403a69:	8b 06                	mov    (%esi),%eax
403a6b:	8b ce                	mov    %esi,%ecx
403a6d:	ff 50 08             	call   *0x8(%eax)
403a70:	33 c0                	xor    %eax,%eax
403a72:	50                   	push   %eax
403a73:	50                   	push   %eax
403a74:	50                   	push   %eax
403a75:	50                   	push   %eax
403a76:	50                   	push   %eax
403a77:	e8 9f 99 00 00       	call   0x40d41b
403a7c:	5e                   	pop    %esi
403a7d:	c2 00 00             	ret    $0x0
403a80:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
403a85:	56                   	push   %esi
403a86:	8b f1                	mov    %ecx,%esi
403a88:	c7 06 54 97 43 00    	movl   $0x439754,(%esi)
403a8e:	74 0a                	je     0x403a9a
403a90:	6a 08                	push   $0x8
403a92:	56                   	push   %esi
403a93:	e8 58 2f 00 00       	call   0x4069f0
403a98:	59                   	pop    %ecx
403a99:	59                   	pop    %ecx
403a9a:	8b c6                	mov    %esi,%eax
403a9c:	5e                   	pop    %esi
403a9d:	c2 04 00             	ret    $0x4
403aa0:	80 39 00             	cmpb   $0x0,(%ecx)
403aa3:	75 04                	jne    0x403aa9
403aa5:	33 c9                	xor    %ecx,%ecx
403aa7:	eb 0c                	jmp    0x403ab5
403aa9:	8d 51 01             	lea    0x1(%ecx),%edx
403aac:	8a 01                	mov    (%ecx),%al
403aae:	41                   	inc    %ecx
403aaf:	84 c0                	test   %al,%al
403ab1:	75 f9                	jne    0x403aac
403ab3:	2b ca                	sub    %edx,%ecx
403ab5:	8b c1                	mov    %ecx,%eax
403ab7:	c3                   	ret
403ab8:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
403abd:	74 10                	je     0x403acf