4037ee:	89 4e 20             	mov    %ecx,0x20(%esi)
4037f1:	89 46 2c             	mov    %eax,0x2c(%esi)
4037f4:	89 46 30             	mov    %eax,0x30(%esi)
4037f7:	89 4e 50             	mov    %ecx,0x50(%esi)
4037fa:	a1 7c 1a 42 00       	mov    0x421a7c,%eax
4037ff:	83 66 40 00          	andl   $0x0,0x40(%esi)
403803:	89 46 48             	mov    %eax,0x48(%esi)
403806:	5e                   	pop    %esi
403807:	5d                   	pop    %ebp
403808:	c2 08 00             	ret    $0x8
40380b:	55                   	push   %ebp
40380c:	8b ec                	mov    %esp,%ebp
40380e:	56                   	push   %esi
40380f:	57                   	push   %edi
403810:	8b 7d 08             	mov    0x8(%ebp),%edi
403813:	8b f1                	mov    %ecx,%esi
403815:	8b 07                	mov    (%edi),%eax
403817:	8b cf                	mov    %edi,%ecx
403819:	ff 50 0c             	call   *0xc(%eax)
40381c:	84 c0                	test   %al,%al
40381e:	74 06                	je     0x403826
403820:	83 66 40 00          	andl   $0x0,0x40(%esi)
403824:	eb 0a                	jmp    0x403830
403826:	8b ce                	mov    %esi,%ecx
403828:	89 7e 40             	mov    %edi,0x40(%esi)
40382b:	e8 1c fa ff ff       	call   0x40324c
403830:	5f                   	pop    %edi
403831:	5e                   	pop    %esi
403832:	5d                   	pop    %ebp
403833:	c2 04 00             	ret    $0x4
403836:	83 79 50 00          	cmpl   $0x0,0x50(%ecx)
40383a:	74 09                	je     0x403845
40383c:	ff 71 50             	push   0x50(%ecx)
40383f:	e8 d7 2a 00 00       	call   0x40631b
403844:	59                   	pop    %ecx
403845:	c3                   	ret
403846:	56                   	push   %esi
403847:	8b 71 0c             	mov    0xc(%ecx),%esi
40384a:	8d 41 44             	lea    0x44(%ecx),%eax
40384d:	39 06                	cmp    %eax,(%esi)
40384f:	75 14                	jne    0x403865
403851:	8b 41 38             	mov    0x38(%ecx),%eax
403854:	8b 51 3c             	mov    0x3c(%ecx),%edx
403857:	89 06                	mov    %eax,(%esi)
403859:	8b 41 1c             	mov    0x1c(%ecx),%eax
40385c:	89 10                	mov    %edx,(%eax)
40385e:	8b 41 2c             	mov    0x2c(%ecx),%eax
403861:	2b d2                	sub    %edx,%edx
403863:	89 10                	mov    %edx,(%eax)
403865:	5e                   	pop    %esi
403866:	c3                   	ret
403867:	56                   	push   %esi
403868:	8b d1                	mov    %ecx,%edx
40386a:	57                   	push   %edi
40386b:	8b 7a 0c             	mov    0xc(%edx),%edi
40386e:	8d 72 44             	lea    0x44(%edx),%esi
403871:	8b 07                	mov    (%edi),%eax
403873:	3b c6                	cmp    %esi,%eax
403875:	74 10                	je     0x403887
403877:	8b 4a 1c             	mov    0x1c(%edx),%ecx
40387a:	89 42 38             	mov    %eax,0x38(%edx)
40387d:	8b 42 2c             	mov    0x2c(%edx),%eax
403880:	8b 00                	mov    (%eax),%eax
403882:	03 01                	add    (%ecx),%eax
403884:	89 42 3c             	mov    %eax,0x3c(%edx)
403887:	89 37                	mov    %esi,(%edi)
403889:	8b 42 1c             	mov    0x1c(%edx),%eax
40388c:	8b ca                	mov    %edx,%ecx
40388e:	89 30                	mov    %esi,(%eax)
403890:	8b 42 2c             	mov    0x2c(%edx),%eax
403893:	2b ce                	sub    %esi,%ecx
403895:	83 c1 45             	add    $0x45,%ecx
403898:	5f                   	pop    %edi
403899:	89 08                	mov    %ecx,(%eax)
40389b:	5e                   	pop    %esi
40389c:	c3                   	ret
40389d:	83 79 50 00          	cmpl   $0x0,0x50(%ecx)
4038a1:	74 09                	je     0x4038ac
4038a3:	ff 71 50             	push   0x50(%ecx)
4038a6:	e8 df 2a 00 00       	call   0x40638a
4038ab:	59                   	pop    %ecx
4038ac:	c3                   	ret
4038ad:	55                   	push   %ebp
4038ae:	8b ec                	mov    %esp,%ebp
4038b0:	56                   	push   %esi
4038b1:	8b f1                	mov    %ecx,%esi
4038b3:	83 c8 ff             	or     $0xffffffff,%eax
4038b6:	8b 4e 10             	mov    0x10(%esi),%ecx
4038b9:	57                   	push   %edi
4038ba:	8b 7d 08             	mov    0x8(%ebp),%edi
4038bd:	2b c1                	sub    %ecx,%eax
4038bf:	3b c7                	cmp    %edi,%eax
4038c1:	76 40                	jbe    0x403903
4038c3:	85 ff                	test   %edi,%edi
4038c5:	74 34                	je     0x4038fb
4038c7:	53                   	push   %ebx
4038c8:	8d 1c 39             	lea    (%ecx,%edi,1),%ebx
4038cb:	6a 00                	push   $0x0
4038cd:	53                   	push   %ebx
4038ce:	8b ce                	mov    %esi,%ecx
4038d0:	e8 39 da ff ff       	call   0x40130e
4038d5:	84 c0                	test   %al,%al
4038d7:	74 21                	je     0x4038fa
4038d9:	ff 75 0c             	push   0xc(%ebp)
4038dc:	8b ce                	mov    %esi,%ecx
4038de:	57                   	push   %edi
4038df:	ff 76 10             	push   0x10(%esi)
4038e2:	e8 25 f9 ff ff       	call   0x40320c
4038e7:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
4038eb:	89 5e 10             	mov    %ebx,0x10(%esi)
4038ee:	72 04                	jb     0x4038f4
4038f0:	8b 06                	mov    (%esi),%eax
4038f2:	eb 02                	jmp    0x4038f6
4038f4:	8b c6                	mov    %esi,%eax
4038f6:	c6 04 18 00          	movb   $0x0,(%eax,%ebx,1)
4038fa:	5b                   	pop    %ebx
4038fb:	5f                   	pop    %edi
4038fc:	8b c6                	mov    %esi,%eax
4038fe:	5e                   	pop    %esi
4038ff:	5d                   	pop    %ebp
403900:	c2 08 00             	ret    $0x8
403903:	68 f8 d3 41 00       	push   $0x41d3f8
403908:	e8 4d fb ff ff       	call   0x40345a
40390d:	cc                   	int3
40390e:	53                   	push   %ebx
40390f:	57                   	push   %edi
403910:	8b f9                	mov    %ecx,%edi
403912:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
403916:	75 04                	jne    0x40391c
403918:	33 db                	xor    %ebx,%ebx
40391a:	eb 23                	jmp    0x40393f
40391c:	56                   	push   %esi
40391d:	e8 28 fd ff ff       	call   0x40364a
403922:	ff 77 50             	push   0x50(%edi)
403925:	0f b6 f0             	movzbl %al,%esi
403928:	f7 de                	neg    %esi
40392a:	1b f6                	sbb    %esi,%esi
40392c:	23 f7                	and    %edi,%esi
40392e:	e8 2a 2b 00 00       	call   0x40645d
403933:	8b d8                	mov    %eax,%ebx
403935:	f7 db                	neg    %ebx
403937:	1b db                	sbb    %ebx,%ebx
403939:	f7 d3                	not    %ebx
40393b:	59                   	pop    %ecx
40393c:	23 de                	and    %esi,%ebx
40393e:	5e                   	pop    %esi
40393f:	8b cf                	mov    %edi,%ecx
403941:	c6 47 4c 00          	movb   $0x0,0x4c(%edi)
403945:	c6 47 45 00          	movb   $0x0,0x45(%edi)
403949:	e8 fe f8 ff ff       	call   0x40324c
40394e:	83 67 50 00          	andl   $0x0,0x50(%edi)
403952:	8b 0d 7c 1a 42 00    	mov    0x421a7c,%ecx
403958:	83 67 40 00          	andl   $0x0,0x40(%edi)
40395c:	89 4f 48             	mov    %ecx,0x48(%edi)
40395f:	5f                   	pop    %edi
403960:	8b c3                	mov    %ebx,%eax
403962:	5b                   	pop    %ebx
403963:	c3                   	ret
403964:	b0 01                	mov    $0x1,%al
403966:	c3                   	ret
403967:	33 c0                	xor    %eax,%eax
403969:	40                   	inc    %eax
40396a:	c3                   	ret
40396b:	55                   	push   %ebp
40396c:	8b ec                	mov    %esp,%ebp
40396e:	8b 45 10             	mov    0x10(%ebp),%eax
403971:	2b 45 0c             	sub    0xc(%ebp),%eax
403974:	8b 4d 14             	mov    0x14(%ebp),%ecx
403977:	3b c8                	cmp    %eax,%ecx
403979:	72 02                	jb     0x40397d
40397b:	8b c8                	mov    %eax,%ecx
40397d:	8b c1                	mov    %ecx,%eax
40397f:	5d                   	pop    %ebp
403980:	c2 10 00             	ret    $0x10
403983:	55                   	push   %ebp
403984:	8b ec                	mov    %esp,%ebp
403986:	8b 4d 14             	mov    0x14(%ebp),%ecx
403989:	8b 45 0c             	mov    0xc(%ebp),%eax
40398c:	89 01                	mov    %eax,(%ecx)
40398e:	8b 4d 20             	mov    0x20(%ebp),%ecx
403991:	8b 45 18             	mov    0x18(%ebp),%eax
403994:	6a 03                	push   $0x3
403996:	89 01                	mov    %eax,(%ecx)
403998:	58                   	pop    %eax
403999:	5d                   	pop    %ebp
40399a:	c2 1c 00             	ret    $0x1c
40399d:	55                   	push   %ebp
40399e:	8b ec                	mov    %esp,%ebp
4039a0:	8b 4d 14             	mov    0x14(%ebp),%ecx
4039a3:	8b 45 0c             	mov    0xc(%ebp),%eax
4039a6:	89 01                	mov    %eax,(%ecx)
4039a8:	33 c0                	xor    %eax,%eax
4039aa:	5d                   	pop    %ebp
4039ab:	c2 10 00             	ret    $0x10
4039ae:	55                   	push   %ebp
4039af:	8b ec                	mov    %esp,%ebp
4039b1:	56                   	push   %esi
4039b2:	ff 75 08             	push   0x8(%ebp)
4039b5:	8b f1                	mov    %ecx,%esi
4039b7:	e8 54 fb ff ff       	call   0x403510
4039bc:	59                   	pop    %ecx
4039bd:	50                   	push   %eax
4039be:	8b ce                	mov    %esi,%ecx
4039c0:	e8 46 fe ff ff       	call   0x40380b
4039c5:	5e                   	pop    %esi
4039c6:	5d                   	pop    %ebp
4039c7:	c2 04 00             	ret    $0x4
4039ca:	6a 30                	push   $0x30
4039cc:	b8 a8 7b 41 00       	mov    $0x417ba8,%eax
4039d1:	e8 56 24 00 00       	call   0x405e2c
4039d6:	8b f9                	mov    %ecx,%edi
4039d8:	8b 5d 08             	mov    0x8(%ebp),%ebx
4039db:	83 ce ff             	or     $0xffffffff,%esi
4039de:	3b de                	cmp    %esi,%ebx
4039e0:	75 07                	jne    0x4039e9
4039e2:	33 c0                	xor    %eax,%eax
4039e4:	e9 62 01 00 00       	jmp    0x403b4b
4039e9:	8b 47 20             	mov    0x20(%edi),%eax
4039ec:	8b 08                	mov    (%eax),%ecx
4039ee:	85 c9                	test   %ecx,%ecx
4039f0:	74 20                	je     0x403a12
4039f2:	8b 57 30             	mov    0x30(%edi),%edx
4039f5:	8b 02                	mov    (%edx),%eax
4039f7:	03 c1                	add    %ecx,%eax
4039f9:	3b c8                	cmp    %eax,%ecx
4039fb:	73 15                	jae    0x403a12
4039fd:	ff 0a                	decl   (%edx)
4039ff:	8b 57 20             	mov    0x20(%edi),%edx
403a02:	8b 32                	mov    (%edx),%esi
403a04:	8d 4e 01             	lea    0x1(%esi),%ecx
403a07:	89 0a                	mov    %ecx,(%edx)
403a09:	88 1e                	mov    %bl,(%esi)
403a0b:	8b c3                	mov    %ebx,%eax
403a0d:	e9 39 01 00 00       	jmp    0x403b4b
403a12:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
403a16:	0f 84 2d 01 00 00    	je     0x403b49
403a1c:	8b cf                	mov    %edi,%ecx
403a1e:	e8 23 fe ff ff       	call   0x403846
403a23:	33 c0                	xor    %eax,%eax
403a25:	39 47 40             	cmp    %eax,0x40(%edi)
403a28:	75 13                	jne    0x403a3d
403a2a:	ff 77 50             	push   0x50(%edi)
403a2d:	53                   	push   %ebx
403a2e:	e8 a3 fa ff ff       	call   0x4034d6
403a33:	59                   	pop    %ecx
403a34:	59                   	pop    %ecx
403a35:	84 c0                	test   %al,%al
403a37:	75 d2                	jne    0x403a0b
403a39:	8b de                	mov    %esi,%ebx
403a3b:	eb ce                	jmp    0x403a0b
403a3d:	50                   	push   %eax
403a3e:	6a 08                	push   $0x8
403a40:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403a43:	88 5d cc             	mov    %bl,-0x34(%ebp)
403a46:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
403a4d:	89 45 e8             	mov    %eax,-0x18(%ebp)
403a50:	88 45 d8             	mov    %al,-0x28(%ebp)
403a53:	e8 66 f7 ff ff       	call   0x4031be
403a58:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403a5c:	8b 45 d8             	mov    -0x28(%ebp),%eax
403a5f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403a62:	89 45 d0             	mov    %eax,-0x30(%ebp)
403a65:	83 f9 10             	cmp    $0x10,%ecx
403a68:	73 03                	jae    0x403a6d
403a6a:	8d 45 d8             	lea    -0x28(%ebp),%eax
403a6d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
403a70:	83 f9 10             	cmp    $0x10,%ecx
403a73:	73 06                	jae    0x403a7b
403a75:	8d 45 d8             	lea    -0x28(%ebp),%eax
403a78:	89 45 d0             	mov    %eax,-0x30(%ebp)
403a7b:	8b 4f 40             	mov    0x40(%edi),%ecx
403a7e:	8d 45 c8             	lea    -0x38(%ebp),%eax
403a81:	8b 11                	mov    (%ecx),%edx
403a83:	50                   	push   %eax
403a84:	8b 45 e8             	mov    -0x18(%ebp),%eax
403a87:	03 45 d4             	add    -0x2c(%ebp),%eax
403a8a:	50                   	push   %eax
403a8b:	ff 75 d0             	push   -0x30(%ebp)
403a8e:	8d 45 c4             	lea    -0x3c(%ebp),%eax
403a91:	50                   	push   %eax
403a92:	8d 45 cd             	lea    -0x33(%ebp),%eax
403a95:	50                   	push   %eax
403a96:	8d 45 cc             	lea    -0x34(%ebp),%eax
403a99:	50                   	push   %eax
403a9a:	8d 47 48             	lea    0x48(%edi),%eax
403a9d:	50                   	push   %eax
403a9e:	ff 52 1c             	call   *0x1c(%edx)
403aa1:	8b 5d 08             	mov    0x8(%ebp),%ebx
403aa4:	85 c0                	test   %eax,%eax
403aa6:	0f 88 95 00 00 00    	js     0x403b41
403aac:	83 f8 01             	cmp    $0x1,%eax
403aaf:	7f 78                	jg     0x403b29
403ab1:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403ab4:	8b 45 d8             	mov    -0x28(%ebp),%eax
403ab7:	89 45 d0             	mov    %eax,-0x30(%ebp)
403aba:	83 f9 10             	cmp    $0x10,%ecx
403abd:	72 05                	jb     0x403ac4
403abf:	89 45 d4             	mov    %eax,-0x2c(%ebp)
403ac2:	eb 06                	jmp    0x403aca
403ac4:	8d 55 d8             	lea    -0x28(%ebp),%edx
403ac7:	89 55 d4             	mov    %edx,-0x2c(%ebp)
403aca:	8b 55 c8             	mov    -0x38(%ebp),%edx
403acd:	2b 55 d4             	sub    -0x2c(%ebp),%edx
403ad0:	89 55 d4             	mov    %edx,-0x2c(%ebp)
403ad3:	74 27                	je     0x403afc
403ad5:	83 f9 10             	cmp    $0x10,%ecx
403ad8:	73 03                	jae    0x403add
403ada:	8d 45 d8             	lea    -0x28(%ebp),%eax
403add:	ff 77 50             	push   0x50(%edi)
403ae0:	52                   	push   %edx
403ae1:	6a 01                	push   $0x1
403ae3:	50                   	push   %eax
403ae4:	e8 fb 30 00 00       	call   0x406be4
403ae9:	8b 55 d4             	mov    -0x2c(%ebp),%edx
403aec:	83 c4 10             	add    $0x10,%esp
403aef:	3b d0                	cmp    %eax,%edx
403af1:	75 4e                	jne    0x403b41
403af3:	8b 45 d8             	mov    -0x28(%ebp),%eax
403af6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403af9:	89 45 d0             	mov    %eax,-0x30(%ebp)
403afc:	8d 5d cc             	lea    -0x34(%ebp),%ebx
403aff:	39 5d c4             	cmp    %ebx,-0x3c(%ebp)
403b02:	8b 5d 08             	mov    0x8(%ebp),%ebx
403b05:	c6 47 45 01          	movb   $0x1,0x45(%edi)
403b09:	75 34                	jne    0x403b3f
403b0b:	85 d2                	test   %edx,%edx
403b0d:	0f 85 52 ff ff ff    	jne    0x403a65
403b13:	83 7d e8 20          	cmpl   $0x20,-0x18(%ebp)
403b17:	73 28                	jae    0x403b41
403b19:	52                   	push   %edx
403b1a:	6a 08                	push   $0x8
403b1c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403b1f:	e8 89 fd ff ff       	call   0x4038ad
403b24:	e9 33 ff ff ff       	jmp    0x403a5c
403b29:	83 f8 03             	cmp    $0x3,%eax
403b2c:	75 13                	jne    0x403b41
403b2e:	ff 77 50             	push   0x50(%edi)
403b31:	ff 75 cc             	push   -0x34(%ebp)
403b34:	e8 9d f9 ff ff       	call   0x4034d6
403b39:	59                   	pop    %ecx
403b3a:	59                   	pop    %ecx
403b3b:	84 c0                	test   %al,%al
403b3d:	74 02                	je     0x403b41
403b3f:	8b f3                	mov    %ebx,%esi
403b41:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403b44:	e8 53 d6 ff ff       	call   0x40119c
403b49:	8b c6                	mov    %esi,%eax
403b4b:	e8 9a 22 00 00       	call   0x405dea
403b50:	c2 04 00             	ret    $0x4
403b53:	55                   	push   %ebp