403936:	64 8b 1d 00 00 00 00 	mov    %fs:0x0,%ebx
40393d:	8b 03                	mov    (%ebx),%eax
40393f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403945:	8b 45 08             	mov    0x8(%ebp),%eax
403948:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40394b:	8b 6d fc             	mov    -0x4(%ebp),%ebp
40394e:	8b 63 fc             	mov    -0x4(%ebx),%esp
403951:	ff e0                	jmp    *%eax
403953:	5b                   	pop    %ebx
403954:	c9                   	leave
403955:	c2 08 00             	ret    $0x8
403958:	55                   	push   %ebp
403959:	8b ec                	mov    %esp,%ebp
40395b:	51                   	push   %ecx
40395c:	51                   	push   %ecx
40395d:	53                   	push   %ebx
40395e:	56                   	push   %esi
40395f:	57                   	push   %edi
403960:	64 8b 35 00 00 00 00 	mov    %fs:0x0,%esi
403967:	89 75 f8             	mov    %esi,-0x8(%ebp)
40396a:	c7 45 fc 82 39 40 00 	movl   $0x403982,-0x4(%ebp)
403971:	6a 00                	push   $0x0
403973:	ff 75 0c             	push   0xc(%ebp)
403976:	ff 75 fc             	push   -0x4(%ebp)
403979:	ff 75 08             	push   0x8(%ebp)
40397c:	ff 15 50 f0 40 00    	call   *0x40f050
403982:	8b 45 0c             	mov    0xc(%ebp),%eax
403985:	8b 40 04             	mov    0x4(%eax),%eax
403988:	83 e0 fd             	and    $0xfffffffd,%eax
40398b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40398e:	89 41 04             	mov    %eax,0x4(%ecx)
403991:	64 8b 3d 00 00 00 00 	mov    %fs:0x0,%edi
403998:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40399b:	89 3b                	mov    %edi,(%ebx)
40399d:	64 89 1d 00 00 00 00 	mov    %ebx,%fs:0x0
4039a4:	5f                   	pop    %edi
4039a5:	5e                   	pop    %esi
4039a6:	5b                   	pop    %ebx
4039a7:	c9                   	leave
4039a8:	c2 08 00             	ret    $0x8
4039ab:	55                   	push   %ebp
4039ac:	8b ec                	mov    %esp,%ebp
4039ae:	56                   	push   %esi
4039af:	fc                   	cld
4039b0:	8b 75 0c             	mov    0xc(%ebp),%esi
4039b3:	8b 4e 08             	mov    0x8(%esi),%ecx
4039b6:	33 ce                	xor    %esi,%ecx
4039b8:	e8 78 fc ff ff       	call   0x403635
4039bd:	6a 00                	push   $0x0
4039bf:	56                   	push   %esi
4039c0:	ff 76 14             	push   0x14(%esi)
4039c3:	ff 76 0c             	push   0xc(%esi)
4039c6:	6a 00                	push   $0x0
4039c8:	ff 75 10             	push   0x10(%ebp)
4039cb:	ff 76 10             	push   0x10(%esi)
4039ce:	ff 75 08             	push   0x8(%ebp)
4039d1:	e8 30 11 00 00       	call   0x404b06
4039d6:	83 c4 20             	add    $0x20,%esp
4039d9:	5e                   	pop    %esi
4039da:	5d                   	pop    %ebp
4039db:	c3                   	ret
4039dc:	55                   	push   %ebp
4039dd:	8b ec                	mov    %esp,%ebp
4039df:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4039e2:	56                   	push   %esi
4039e3:	8b 75 08             	mov    0x8(%ebp),%esi
4039e6:	89 0e                	mov    %ecx,(%esi)
4039e8:	e8 69 07 00 00       	call   0x404156
4039ed:	8b 48 24             	mov    0x24(%eax),%ecx
4039f0:	89 4e 04             	mov    %ecx,0x4(%esi)
4039f3:	e8 5e 07 00 00       	call   0x404156
4039f8:	89 70 24             	mov    %esi,0x24(%eax)
4039fb:	8b c6                	mov    %esi,%eax
4039fd:	5e                   	pop    %esi
4039fe:	5d                   	pop    %ebp
4039ff:	c3                   	ret
403a00:	55                   	push   %ebp
403a01:	8b ec                	mov    %esp,%ebp
403a03:	56                   	push   %esi
403a04:	e8 4d 07 00 00       	call   0x404156
403a09:	8b 75 08             	mov    0x8(%ebp),%esi
403a0c:	3b 70 24             	cmp    0x24(%eax),%esi
403a0f:	75 0e                	jne    0x403a1f
403a11:	8b 76 04             	mov    0x4(%esi),%esi
403a14:	e8 3d 07 00 00       	call   0x404156
403a19:	89 70 24             	mov    %esi,0x24(%eax)
403a1c:	5e                   	pop    %esi
403a1d:	5d                   	pop    %ebp
403a1e:	c3                   	ret
403a1f:	e8 32 07 00 00       	call   0x404156
403a24:	8b 48 24             	mov    0x24(%eax),%ecx
403a27:	83 c1 04             	add    $0x4,%ecx
403a2a:	eb 07                	jmp    0x403a33
403a2c:	3b f0                	cmp    %eax,%esi
403a2e:	74 0b                	je     0x403a3b
403a30:	8d 48 04             	lea    0x4(%eax),%ecx
403a33:	8b 01                	mov    (%ecx),%eax
403a35:	85 c0                	test   %eax,%eax
403a37:	74 09                	je     0x403a42
403a39:	eb f1                	jmp    0x403a2c
403a3b:	8b 46 04             	mov    0x4(%esi),%eax
403a3e:	89 01                	mov    %eax,(%ecx)
403a40:	eb da                	jmp    0x403a1c
403a42:	e8 57 35 00 00       	call   0x406f9e
403a47:	cc                   	int3
403a48:	55                   	push   %ebp
403a49:	8b ec                	mov    %esp,%ebp
403a4b:	51                   	push   %ecx
403a4c:	53                   	push   %ebx
403a4d:	fc                   	cld
403a4e:	8b 45 0c             	mov    0xc(%ebp),%eax
403a51:	8b 48 08             	mov    0x8(%eax),%ecx
403a54:	33 4d 0c             	xor    0xc(%ebp),%ecx
403a57:	e8 d9 fb ff ff       	call   0x403635
403a5c:	8b 45 08             	mov    0x8(%ebp),%eax
403a5f:	8b 40 04             	mov    0x4(%eax),%eax
403a62:	83 e0 66             	and    $0x66,%eax
403a65:	74 11                	je     0x403a78
403a67:	8b 45 0c             	mov    0xc(%ebp),%eax
403a6a:	c7 40 24 01 00 00 00 	movl   $0x1,0x24(%eax)
403a71:	33 c0                	xor    %eax,%eax
403a73:	40                   	inc    %eax
403a74:	eb 6c                	jmp    0x403ae2
403a76:	eb 6a                	jmp    0x403ae2
403a78:	6a 01                	push   $0x1
403a7a:	8b 45 0c             	mov    0xc(%ebp),%eax
403a7d:	ff 70 18             	push   0x18(%eax)
403a80:	8b 45 0c             	mov    0xc(%ebp),%eax
403a83:	ff 70 14             	push   0x14(%eax)
403a86:	8b 45 0c             	mov    0xc(%ebp),%eax
403a89:	ff 70 0c             	push   0xc(%eax)
403a8c:	6a 00                	push   $0x0
403a8e:	ff 75 10             	push   0x10(%ebp)
403a91:	8b 45 0c             	mov    0xc(%ebp),%eax
403a94:	ff 70 10             	push   0x10(%eax)
403a97:	ff 75 08             	push   0x8(%ebp)
403a9a:	e8 67 10 00 00       	call   0x404b06
403a9f:	83 c4 20             	add    $0x20,%esp
403aa2:	8b 45 0c             	mov    0xc(%ebp),%eax
403aa5:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
403aa9:	75 0b                	jne    0x403ab6
403aab:	ff 75 08             	push   0x8(%ebp)
403aae:	ff 75 0c             	push   0xc(%ebp)
403ab1:	e8 a2 fe ff ff       	call   0x403958
403ab6:	6a 00                	push   $0x0
403ab8:	6a 00                	push   $0x0
403aba:	6a 00                	push   $0x0
403abc:	6a 00                	push   $0x0
403abe:	6a 00                	push   $0x0
403ac0:	8d 45 fc             	lea    -0x4(%ebp),%eax
403ac3:	50                   	push   %eax
403ac4:	68 23 01 00 00       	push   $0x123
403ac9:	e8 64 fd ff ff       	call   0x403832
403ace:	83 c4 1c             	add    $0x1c,%esp
403ad1:	8b 45 fc             	mov    -0x4(%ebp),%eax
403ad4:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403ad7:	8b 63 1c             	mov    0x1c(%ebx),%esp
403ada:	8b 6b 20             	mov    0x20(%ebx),%ebp
403add:	ff e0                	jmp    *%eax
403adf:	33 c0                	xor    %eax,%eax
403ae1:	40                   	inc    %eax
403ae2:	5b                   	pop    %ebx
403ae3:	c9                   	leave
403ae4:	c3                   	ret
403ae5:	55                   	push   %ebp
403ae6:	8b ec                	mov    %esp,%ebp
403ae8:	83 ec 08             	sub    $0x8,%esp
403aeb:	53                   	push   %ebx
403aec:	56                   	push   %esi
403aed:	57                   	push   %edi
403aee:	fc                   	cld
403aef:	89 45 fc             	mov    %eax,-0x4(%ebp)
403af2:	33 c0                	xor    %eax,%eax
403af4:	50                   	push   %eax
403af5:	50                   	push   %eax
403af6:	50                   	push   %eax
403af7:	ff 75 fc             	push   -0x4(%ebp)
403afa:	ff 75 14             	push   0x14(%ebp)
403afd:	ff 75 10             	push   0x10(%ebp)
403b00:	ff 75 0c             	push   0xc(%ebp)
403b03:	ff 75 08             	push   0x8(%ebp)
403b06:	e8 fb 0f 00 00       	call   0x404b06
403b0b:	83 c4 20             	add    $0x20,%esp
403b0e:	89 45 f8             	mov    %eax,-0x8(%ebp)
403b11:	5f                   	pop    %edi
403b12:	5e                   	pop    %esi
403b13:	5b                   	pop    %ebx
403b14:	8b 45 f8             	mov    -0x8(%ebp),%eax
403b17:	8b e5                	mov    %ebp,%esp
403b19:	5d                   	pop    %ebp
403b1a:	c3                   	ret
403b1b:	6a 08                	push   $0x8
403b1d:	68 50 48 41 00       	push   $0x414850
403b22:	e8 e9 f8 ff ff       	call   0x403410
403b27:	8b 45 08             	mov    0x8(%ebp),%eax
403b2a:	85 c0                	test   %eax,%eax
403b2c:	74 7e                	je     0x403bac
403b2e:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
403b34:	75 76                	jne    0x403bac
403b36:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
403b3a:	75 70                	jne    0x403bac
403b3c:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
403b43:	74 12                	je     0x403b57
403b45:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
403b4c:	74 09                	je     0x403b57
403b4e:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
403b55:	75 55                	jne    0x403bac
403b57:	8b 48 1c             	mov    0x1c(%eax),%ecx
403b5a:	85 c9                	test   %ecx,%ecx
403b5c:	74 4e                	je     0x403bac
403b5e:	8b 51 04             	mov    0x4(%ecx),%edx
403b61:	85 d2                	test   %edx,%edx
403b63:	74 29                	je     0x403b8e
403b65:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403b69:	52                   	push   %edx
403b6a:	ff 70 18             	push   0x18(%eax)
403b6d:	e8 4a 00 00 00       	call   0x403bbc
403b72:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
403b79:	eb 31                	jmp    0x403bac
403b7b:	ff 75 0c             	push   0xc(%ebp)
403b7e:	ff 75 ec             	push   -0x14(%ebp)
403b81:	e8 43 00 00 00       	call   0x403bc9
403b86:	59                   	pop    %ecx
403b87:	59                   	pop    %ecx
403b88:	c3                   	ret
403b89:	8b 65 e8             	mov    -0x18(%ebp),%esp
403b8c:	eb e4                	jmp    0x403b72
403b8e:	f6 01 10             	testb  $0x10,(%ecx)
403b91:	74 19                	je     0x403bac
403b93:	8b 40 18             	mov    0x18(%eax),%eax
403b96:	8b 08                	mov    (%eax),%ecx
403b98:	85 c9                	test   %ecx,%ecx
403b9a:	74 10                	je     0x403bac
403b9c:	8b 01                	mov    (%ecx),%eax
403b9e:	51                   	push   %ecx
403b9f:	8b 70 08             	mov    0x8(%eax),%esi
403ba2:	8b ce                	mov    %esi,%ecx
403ba4:	ff 15 18 f1 40 00    	call   *0x40f118
403baa:	ff d6                	call   *%esi
403bac:	8b 4d f0             	mov    -0x10(%ebp),%ecx
403baf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403bb6:	59                   	pop    %ecx
403bb7:	5f                   	pop    %edi
403bb8:	5e                   	pop    %esi
403bb9:	5b                   	pop    %ebx
403bba:	c9                   	leave
403bbb:	c3                   	ret
403bbc:	55                   	push   %ebp
403bbd:	8b ec                	mov    %esp,%ebp
403bbf:	8b 4d 08             	mov    0x8(%ebp),%ecx
403bc2:	ff 55 0c             	call   *0xc(%ebp)
403bc5:	5d                   	pop    %ebp
403bc6:	c2 08 00             	ret    $0x8
403bc9:	55                   	push   %ebp
403bca:	8b ec                	mov    %esp,%ebp
403bcc:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
403bd0:	74 32                	je     0x403c04
403bd2:	56                   	push   %esi
403bd3:	57                   	push   %edi
403bd4:	8b 7d 08             	mov    0x8(%ebp),%edi
403bd7:	8b 37                	mov    (%edi),%esi
403bd9:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
403bdf:	75 21                	jne    0x403c02
403be1:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
403be5:	75 1b                	jne    0x403c02
403be7:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
403bee:	74 18                	je     0x403c08
403bf0:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
403bf7:	74 0f                	je     0x403c08
403bf9:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
403c00:	74 06                	je     0x403c08
403c02:	5f                   	pop    %edi
403c03:	5e                   	pop    %esi
403c04:	33 c0                	xor    %eax,%eax
403c06:	5d                   	pop    %ebp
403c07:	c3                   	ret
403c08:	e8 49 05 00 00       	call   0x404156
403c0d:	89 70 10             	mov    %esi,0x10(%eax)
403c10:	8b 77 04             	mov    0x4(%edi),%esi
403c13:	e8 3e 05 00 00       	call   0x404156
403c18:	89 70 14             	mov    %esi,0x14(%eax)
403c1b:	e8 42 33 00 00       	call   0x406f62
403c20:	cc                   	int3
403c21:	55                   	push   %ebp
403c22:	8b ec                	mov    %esp,%ebp
403c24:	e8 2d 05 00 00       	call   0x404156
403c29:	8b 40 24             	mov    0x24(%eax),%eax
403c2c:	85 c0                	test   %eax,%eax
403c2e:	74 0e                	je     0x403c3e
403c30:	8b 4d 08             	mov    0x8(%ebp),%ecx
403c33:	39 08                	cmp    %ecx,(%eax)
403c35:	74 0c                	je     0x403c43
403c37:	8b 40 04             	mov    0x4(%eax),%eax
403c3a:	85 c0                	test   %eax,%eax
403c3c:	75 f5                	jne    0x403c33
403c3e:	33 c0                	xor    %eax,%eax
403c40:	40                   	inc    %eax
403c41:	5d                   	pop    %ebp
403c42:	c3                   	ret
403c43:	33 c0                	xor    %eax,%eax
403c45:	5d                   	pop    %ebp
403c46:	c3                   	ret
403c47:	55                   	push   %ebp
403c48:	8b ec                	mov    %esp,%ebp
403c4a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403c4d:	8b 55 08             	mov    0x8(%ebp),%edx
403c50:	56                   	push   %esi
403c51:	8b 01                	mov    (%ecx),%eax
403c53:	8b 71 04             	mov    0x4(%ecx),%esi
403c56:	03 c2                	add    %edx,%eax
403c58:	85 f6                	test   %esi,%esi
403c5a:	78 0d                	js     0x403c69
403c5c:	8b 49 08             	mov    0x8(%ecx),%ecx
403c5f:	8b 14 16             	mov    (%esi,%edx,1),%edx
403c62:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
403c65:	03 ce                	add    %esi,%ecx
403c67:	03 c1                	add    %ecx,%eax
403c69:	5e                   	pop    %esi
403c6a:	5d                   	pop    %ebp
403c6b:	c3                   	ret
403c6c:	55                   	push   %ebp
403c6d:	8b ec                	mov    %esp,%ebp
403c6f:	56                   	push   %esi
403c70:	8b 75 08             	mov    0x8(%ebp),%esi
403c73:	57                   	push   %edi
403c74:	8b 3e                	mov    (%esi),%edi
403c76:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
403c7c:	74 12                	je     0x403c90
403c7e:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
403c84:	74 0a                	je     0x403c90
403c86:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
403c8c:	74 1b                	je     0x403ca9
403c8e:	eb 13                	jmp    0x403ca3
403c90:	e8 c1 04 00 00       	call   0x404156
403c95:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
403c99:	7e 08                	jle    0x403ca3
403c9b:	e8 b6 04 00 00       	call   0x404156
403ca0:	ff 48 18             	decl   0x18(%eax)
403ca3:	5f                   	pop    %edi
403ca4:	33 c0                	xor    %eax,%eax
403ca6:	5e                   	pop    %esi
403ca7:	5d                   	pop    %ebp
403ca8:	c3                   	ret
403ca9:	e8 a8 04 00 00       	call   0x404156
403cae:	89 78 10             	mov    %edi,0x10(%eax)
403cb1:	8b 76 04             	mov    0x4(%esi),%esi
403cb4:	e8 9d 04 00 00       	call   0x404156
403cb9:	89 70 14             	mov    %esi,0x14(%eax)
403cbc:	e8 a1 32 00 00       	call   0x406f62
403cc1:	cc                   	int3