403921:	89 78 08             	mov    %edi,0x8(%eax)
403924:	eb 08                	jmp    0x40392e
403926:	89 3a                	mov    %edi,(%edx)
403928:	3b 10                	cmp    (%eax),%edx
40392a:	75 02                	jne    0x40392e
40392c:	89 38                	mov    %edi,(%eax)
40392e:	8b 4f 04             	mov    0x4(%edi),%ecx
403931:	8b c7                	mov    %edi,%eax
403933:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
403937:	0f 85 7d 01 00 00    	jne    0x403aba
40393d:	56                   	push   %esi
40393e:	66 90                	xchg   %ax,%ax
403940:	8b 50 04             	mov    0x4(%eax),%edx
403943:	8b 72 04             	mov    0x4(%edx),%esi
403946:	8b 0e                	mov    (%esi),%ecx
403948:	3b d1                	cmp    %ecx,%edx
40394a:	0f 85 aa 00 00 00    	jne    0x4039fa
403950:	8b 4e 08             	mov    0x8(%esi),%ecx
403953:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
403957:	0f 84 a3 00 00 00    	je     0x403a00
40395d:	8b 72 08             	mov    0x8(%edx),%esi
403960:	3b c6                	cmp    %esi,%eax
403962:	75 37                	jne    0x40399b
403964:	8b 0e                	mov    (%esi),%ecx
403966:	8b c2                	mov    %edx,%eax
403968:	89 4a 08             	mov    %ecx,0x8(%edx)
40396b:	8b 0e                	mov    (%esi),%ecx
40396d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
403971:	75 03                	jne    0x403976
403973:	89 41 04             	mov    %eax,0x4(%ecx)
403976:	8b 4a 04             	mov    0x4(%edx),%ecx
403979:	89 4e 04             	mov    %ecx,0x4(%esi)
40397c:	8b 0b                	mov    (%ebx),%ecx
40397e:	3b 41 04             	cmp    0x4(%ecx),%eax
403981:	75 05                	jne    0x403988
403983:	89 71 04             	mov    %esi,0x4(%ecx)
403986:	eb 0e                	jmp    0x403996
403988:	8b 4a 04             	mov    0x4(%edx),%ecx
40398b:	3b 01                	cmp    (%ecx),%eax
40398d:	75 04                	jne    0x403993
40398f:	89 31                	mov    %esi,(%ecx)
403991:	eb 03                	jmp    0x403996
403993:	89 71 08             	mov    %esi,0x8(%ecx)
403996:	89 06                	mov    %eax,(%esi)
403998:	89 72 04             	mov    %esi,0x4(%edx)
40399b:	8b 48 04             	mov    0x4(%eax),%ecx
40399e:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
4039a2:	8b 48 04             	mov    0x4(%eax),%ecx
4039a5:	8b 49 04             	mov    0x4(%ecx),%ecx
4039a8:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
4039ac:	8b 48 04             	mov    0x4(%eax),%ecx
4039af:	8b 51 04             	mov    0x4(%ecx),%edx
4039b2:	8b 32                	mov    (%edx),%esi
4039b4:	8b 4e 08             	mov    0x8(%esi),%ecx
4039b7:	89 0a                	mov    %ecx,(%edx)
4039b9:	8b 4e 08             	mov    0x8(%esi),%ecx
4039bc:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
4039c0:	75 03                	jne    0x4039c5
4039c2:	89 51 04             	mov    %edx,0x4(%ecx)
4039c5:	8b 4a 04             	mov    0x4(%edx),%ecx
4039c8:	89 4e 04             	mov    %ecx,0x4(%esi)
4039cb:	8b 0b                	mov    (%ebx),%ecx
4039cd:	3b 51 04             	cmp    0x4(%ecx),%edx
4039d0:	75 0b                	jne    0x4039dd
4039d2:	89 71 04             	mov    %esi,0x4(%ecx)
4039d5:	89 56 08             	mov    %edx,0x8(%esi)
4039d8:	e9 cc 00 00 00       	jmp    0x403aa9
4039dd:	8b 4a 04             	mov    0x4(%edx),%ecx
4039e0:	3b 51 08             	cmp    0x8(%ecx),%edx
4039e3:	75 0b                	jne    0x4039f0
4039e5:	89 71 08             	mov    %esi,0x8(%ecx)
4039e8:	89 56 08             	mov    %edx,0x8(%esi)
4039eb:	e9 b9 00 00 00       	jmp    0x403aa9
4039f0:	89 31                	mov    %esi,(%ecx)
4039f2:	89 56 08             	mov    %edx,0x8(%esi)
4039f5:	e9 af 00 00 00       	jmp    0x403aa9
4039fa:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
4039fe:	75 1d                	jne    0x403a1d
403a00:	c6 42 0c 01          	movb   $0x1,0xc(%edx)
403a04:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
403a08:	8b 48 04             	mov    0x4(%eax),%ecx
403a0b:	8b 49 04             	mov    0x4(%ecx),%ecx
403a0e:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
403a12:	8b 48 04             	mov    0x4(%eax),%ecx
403a15:	8b 41 04             	mov    0x4(%ecx),%eax
403a18:	e9 8f 00 00 00       	jmp    0x403aac
403a1d:	8b 32                	mov    (%edx),%esi
403a1f:	3b c6                	cmp    %esi,%eax
403a21:	75 3a                	jne    0x403a5d
403a23:	8b 4e 08             	mov    0x8(%esi),%ecx
403a26:	8b c2                	mov    %edx,%eax
403a28:	89 08                	mov    %ecx,(%eax)
403a2a:	8b 4e 08             	mov    0x8(%esi),%ecx
403a2d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
403a31:	75 03                	jne    0x403a36
403a33:	89 41 04             	mov    %eax,0x4(%ecx)
403a36:	8b 4a 04             	mov    0x4(%edx),%ecx
403a39:	89 4e 04             	mov    %ecx,0x4(%esi)
403a3c:	8b 0b                	mov    (%ebx),%ecx
403a3e:	3b 41 04             	cmp    0x4(%ecx),%eax
403a41:	75 05                	jne    0x403a48
403a43:	89 71 04             	mov    %esi,0x4(%ecx)
403a46:	eb 0f                	jmp    0x403a57
403a48:	8b 4a 04             	mov    0x4(%edx),%ecx
403a4b:	3b 41 08             	cmp    0x8(%ecx),%eax
403a4e:	75 05                	jne    0x403a55
403a50:	89 71 08             	mov    %esi,0x8(%ecx)
403a53:	eb 02                	jmp    0x403a57
403a55:	89 31                	mov    %esi,(%ecx)
403a57:	89 46 08             	mov    %eax,0x8(%esi)
403a5a:	89 72 04             	mov    %esi,0x4(%edx)
403a5d:	8b 48 04             	mov    0x4(%eax),%ecx
403a60:	c6 41 0c 01          	movb   $0x1,0xc(%ecx)
403a64:	8b 48 04             	mov    0x4(%eax),%ecx
403a67:	8b 49 04             	mov    0x4(%ecx),%ecx
403a6a:	c6 41 0c 00          	movb   $0x0,0xc(%ecx)
403a6e:	8b 48 04             	mov    0x4(%eax),%ecx
403a71:	8b 51 04             	mov    0x4(%ecx),%edx
403a74:	8b 72 08             	mov    0x8(%edx),%esi
403a77:	8b 0e                	mov    (%esi),%ecx
403a79:	89 4a 08             	mov    %ecx,0x8(%edx)
403a7c:	8b 0e                	mov    (%esi),%ecx
403a7e:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
403a82:	75 03                	jne    0x403a87
403a84:	89 51 04             	mov    %edx,0x4(%ecx)
403a87:	8b 4a 04             	mov    0x4(%edx),%ecx
403a8a:	89 4e 04             	mov    %ecx,0x4(%esi)
403a8d:	8b 0b                	mov    (%ebx),%ecx
403a8f:	3b 51 04             	cmp    0x4(%ecx),%edx
403a92:	75 05                	jne    0x403a99
403a94:	89 71 04             	mov    %esi,0x4(%ecx)
403a97:	eb 0e                	jmp    0x403aa7
403a99:	8b 4a 04             	mov    0x4(%edx),%ecx
403a9c:	3b 11                	cmp    (%ecx),%edx
403a9e:	75 04                	jne    0x403aa4
403aa0:	89 31                	mov    %esi,(%ecx)
403aa2:	eb 03                	jmp    0x403aa7
403aa4:	89 71 08             	mov    %esi,0x8(%ecx)
403aa7:	89 16                	mov    %edx,(%esi)
403aa9:	89 72 04             	mov    %esi,0x4(%edx)
403aac:	8b 48 04             	mov    0x4(%eax),%ecx
403aaf:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
403ab3:	0f 84 87 fe ff ff    	je     0x403940
403ab9:	5e                   	pop    %esi
403aba:	8b 45 fc             	mov    -0x4(%ebp),%eax
403abd:	8b 40 04             	mov    0x4(%eax),%eax
403ac0:	c6 40 0c 01          	movb   $0x1,0xc(%eax)
403ac4:	8b c7                	mov    %edi,%eax
403ac6:	5f                   	pop    %edi
403ac7:	5b                   	pop    %ebx
403ac8:	8b e5                	mov    %ebp,%esp
403aca:	5d                   	pop    %ebp
403acb:	c2 0c 00             	ret    $0xc
403ace:	cc                   	int3
403acf:	cc                   	int3
403ad0:	8b 41 04             	mov    0x4(%ecx),%eax
403ad3:	85 c0                	test   %eax,%eax
403ad5:	74 0b                	je     0x403ae2
403ad7:	6a 40                	push   $0x40
403ad9:	50                   	push   %eax
403ada:	e8 29 5f 06 00       	call   0x469a08
403adf:	83 c4 08             	add    $0x8,%esp
403ae2:	c3                   	ret
403ae3:	cc                   	int3
403ae4:	cc                   	int3
403ae5:	cc                   	int3
403ae6:	cc                   	int3
403ae7:	cc                   	int3
403ae8:	cc                   	int3
403ae9:	cc                   	int3
403aea:	cc                   	int3
403aeb:	cc                   	int3
403aec:	cc                   	int3
403aed:	cc                   	int3
403aee:	cc                   	int3
403aef:	cc                   	int3
403af0:	55                   	push   %ebp
403af1:	8b ec                	mov    %esp,%ebp
403af3:	8b 01                	mov    (%ecx),%eax
403af5:	83 ec 08             	sub    $0x8,%esp
403af8:	56                   	push   %esi
403af9:	8b 70 04             	mov    0x4(%eax),%esi
403afc:	57                   	push   %edi
403afd:	8b 7d 08             	mov    0x8(%ebp),%edi
403b00:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
403b04:	89 37                	mov    %esi,(%edi)
403b06:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
403b0d:	89 47 08             	mov    %eax,0x8(%edi)
403b10:	75 58                	jne    0x403b6a
403b12:	53                   	push   %ebx
403b13:	8b 5d 0c             	mov    0xc(%ebp),%ebx
403b16:	8b 4b 14             	mov    0x14(%ebx),%ecx
403b19:	8b 43 10             	mov    0x10(%ebx),%eax
403b1c:	89 4d f8             	mov    %ecx,-0x8(%ebp)
403b1f:	89 45 fc             	mov    %eax,-0x4(%ebp)
403b22:	89 37                	mov    %esi,(%edi)
403b24:	8b c3                	mov    %ebx,%eax
403b26:	83 f9 08             	cmp    $0x8,%ecx
403b29:	72 02                	jb     0x403b2d
403b2b:	8b 03                	mov    (%ebx),%eax
403b2d:	83 7e 24 08          	cmpl   $0x8,0x24(%esi)
403b31:	8d 4e 10             	lea    0x10(%esi),%ecx
403b34:	72 03                	jb     0x403b39
403b36:	8b 4e 10             	mov    0x10(%esi),%ecx
403b39:	ff 75 fc             	push   -0x4(%ebp)
403b3c:	8b 56 20             	mov    0x20(%esi),%edx
403b3f:	50                   	push   %eax
403b40:	e8 db 00 00 00       	call   0x403c20
403b45:	83 c4 08             	add    $0x8,%esp
403b48:	85 c0                	test   %eax,%eax
403b4a:	79 07                	jns    0x403b53
403b4c:	8b 76 08             	mov    0x8(%esi),%esi
403b4f:	33 c0                	xor    %eax,%eax
403b51:	eb 0a                	jmp    0x403b5d
403b53:	89 77 08             	mov    %esi,0x8(%edi)
403b56:	b8 01 00 00 00       	mov    $0x1,%eax
403b5b:	8b 36                	mov    (%esi),%esi
403b5d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403b60:	89 47 04             	mov    %eax,0x4(%edi)
403b63:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
403b67:	74 b9                	je     0x403b22
403b69:	5b                   	pop    %ebx
403b6a:	8b c7                	mov    %edi,%eax
403b6c:	5f                   	pop    %edi
403b6d:	5e                   	pop    %esi
403b6e:	8b e5                	mov    %ebp,%esp
403b70:	5d                   	pop    %ebp
403b71:	c2 08 00             	ret    $0x8
403b74:	cc                   	int3
403b75:	cc                   	int3
403b76:	cc                   	int3
403b77:	cc                   	int3
403b78:	cc                   	int3
403b79:	cc                   	int3
403b7a:	cc                   	int3
403b7b:	cc                   	int3
403b7c:	cc                   	int3
403b7d:	cc                   	int3
403b7e:	cc                   	int3
403b7f:	cc                   	int3
403b80:	56                   	push   %esi
403b81:	8b f1                	mov    %ecx,%esi
403b83:	8b 4e 2c             	mov    0x2c(%esi),%ecx
403b86:	83 f9 08             	cmp    $0x8,%ecx
403b89:	72 2e                	jb     0x403bb9
403b8b:	8b 46 18             	mov    0x18(%esi),%eax
403b8e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
403b95:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
403b9b:	72 12                	jb     0x403baf
403b9d:	8b 50 fc             	mov    -0x4(%eax),%edx
403ba0:	83 c1 23             	add    $0x23,%ecx
403ba3:	2b c2                	sub    %edx,%eax
403ba5:	83 c0 fc             	add    $0xfffffffc,%eax
403ba8:	83 f8 1f             	cmp    $0x1f,%eax
403bab:	77 6a                	ja     0x403c17
403bad:	8b c2                	mov    %edx,%eax
403baf:	51                   	push   %ecx
403bb0:	50                   	push   %eax
403bb1:	e8 52 5e 06 00       	call   0x469a08
403bb6:	83 c4 08             	add    $0x8,%esp
403bb9:	33 c0                	xor    %eax,%eax
403bbb:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
403bc2:	c7 46 2c 07 00 00 00 	movl   $0x7,0x2c(%esi)
403bc9:	66 89 46 18          	mov    %ax,0x18(%esi)
403bcd:	8b 4e 14             	mov    0x14(%esi),%ecx
403bd0:	83 f9 08             	cmp    $0x8,%ecx
403bd3:	72 2d                	jb     0x403c02
403bd5:	8b 06                	mov    (%esi),%eax
403bd7:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
403bde:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
403be4:	72 12                	jb     0x403bf8
403be6:	8b 50 fc             	mov    -0x4(%eax),%edx
403be9:	83 c1 23             	add    $0x23,%ecx
403bec:	2b c2                	sub    %edx,%eax
403bee:	83 c0 fc             	add    $0xfffffffc,%eax
403bf1:	83 f8 1f             	cmp    $0x1f,%eax
403bf4:	77 21                	ja     0x403c17
403bf6:	8b c2                	mov    %edx,%eax
403bf8:	51                   	push   %ecx
403bf9:	50                   	push   %eax
403bfa:	e8 09 5e 06 00       	call   0x469a08
403bff:	83 c4 08             	add    $0x8,%esp
403c02:	33 c0                	xor    %eax,%eax
403c04:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
403c0b:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
403c12:	66 89 06             	mov    %ax,(%esi)
403c15:	5e                   	pop    %esi
403c16:	c3                   	ret
403c17:	e8 15 5a 07 00       	call   0x479631
403c1c:	cc                   	int3
403c1d:	cc                   	int3
403c1e:	cc                   	int3
403c1f:	cc                   	int3
403c20:	55                   	push   %ebp
403c21:	8b ec                	mov    %esp,%ebp
403c23:	51                   	push   %ecx
403c24:	8b c2                	mov    %edx,%eax
403c26:	8b d1                	mov    %ecx,%edx
403c28:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403c2b:	3b c8                	cmp    %eax,%ecx
403c2d:	53                   	push   %ebx
403c2e:	56                   	push   %esi
403c2f:	8b 75 08             	mov    0x8(%ebp),%esi
403c32:	57                   	push   %edi
403c33:	8b f8                	mov    %eax,%edi
403c35:	89 45 fc             	mov    %eax,-0x4(%ebp)
403c38:	0f 42 f9             	cmovb  %ecx,%edi
403c3b:	85 ff                	test   %edi,%edi
403c3d:	74 1e                	je     0x403c5d
403c3f:	2b d6                	sub    %esi,%edx
403c41:	0f b7 04 32          	movzwl (%edx,%esi,1),%eax
403c45:	0f b7 0e             	movzwl (%esi),%ecx
403c48:	8b d8                	mov    %eax,%ebx
403c4a:	66 3b c1             	cmp    %cx,%ax
403c4d:	75 1c                	jne    0x403c6b
403c4f:	83 c6 02             	add    $0x2,%esi
403c52:	83 ef 01             	sub    $0x1,%edi
403c55:	75 ea                	jne    0x403c41
403c57:	8b 45 fc             	mov    -0x4(%ebp),%eax
403c5a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403c5d:	3b c8                	cmp    %eax,%ecx
403c5f:	76 1a                	jbe    0x403c7b
403c61:	5f                   	pop    %edi
403c62:	5e                   	pop    %esi
403c63:	83 c8 ff             	or     $0xffffffff,%eax
403c66:	5b                   	pop    %ebx
403c67:	8b e5                	mov    %ebp,%esp
403c69:	5d                   	pop    %ebp
403c6a:	c3                   	ret
403c6b:	66 3b d9             	cmp    %cx,%bx
403c6e:	5f                   	pop    %edi
403c6f:	1b c0                	sbb    %eax,%eax
403c71:	83 e0 fe             	and    $0xfffffffe,%eax
403c74:	5e                   	pop    %esi
403c75:	40                   	inc    %eax
403c76:	5b                   	pop    %ebx
403c77:	8b e5                	mov    %ebp,%esp
403c79:	5d                   	pop    %ebp
403c7a:	c3                   	ret
403c7b:	5f                   	pop    %edi
403c7c:	1b c0                	sbb    %eax,%eax
403c7e:	5e                   	pop    %esi
403c7f:	f7 d8                	neg    %eax
403c81:	5b                   	pop    %ebx
403c82:	8b e5                	mov    %ebp,%esp
403c84:	5d                   	pop    %ebp
403c85:	c3                   	ret
403c86:	cc                   	int3
403c87:	cc                   	int3
403c88:	cc                   	int3