404bd7:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404bdb:	56                   	push   %esi
404bdc:	8b 75 08             	mov    0x8(%ebp),%esi
404bdf:	57                   	push   %edi
404be0:	8b f9                	mov    %ecx,%edi
404be2:	e8 93 ec ff ff       	call   0x40387a
404be7:	50                   	push   %eax
404be8:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404beb:	e8 0c ef ff ff       	call   0x403afc
404bf0:	85 f6                	test   %esi,%esi
404bf2:	74 16                	je     0x404c0a
404bf4:	f7 c6 00 00 ff ff    	test   $0xffff0000,%esi
404bfa:	75 0e                	jne    0x404c0a
404bfc:	0f b7 c6             	movzwl %si,%eax
404bff:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404c02:	50                   	push   %eax
404c03:	e8 6f e8 ff ff       	call   0x403477
404c08:	eb 09                	jmp    0x404c13
404c0a:	56                   	push   %esi
404c0b:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404c0e:	e8 a2 ec ff ff       	call   0x4038b5
404c13:	8b 75 f8             	mov    -0x8(%ebp),%esi
404c16:	8b cf                	mov    %edi,%ecx
404c18:	ff 76 f4             	push   -0xc(%esi)
404c1b:	56                   	push   %esi
404c1c:	e8 4b ee ff ff       	call   0x403a6c
404c21:	8d 4e f0             	lea    -0x10(%esi),%ecx
404c24:	e8 d9 c6 ff ff       	call   0x401302
404c29:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404c2c:	8b c7                	mov    %edi,%eax
404c2e:	5f                   	pop    %edi
404c2f:	33 cd                	xor    %ebp,%ecx
404c31:	5e                   	pop    %esi
404c32:	e8 be 3f 00 00       	call   0x408bf5
404c37:	c9                   	leave
404c38:	c2 04 00             	ret    $0x4
404c3b:	56                   	push   %esi
404c3c:	8b f1                	mov    %ecx,%esi
404c3e:	ff 36                	push   (%esi)
404c40:	e8 ac 48 01 00       	call   0x4194f1
404c45:	83 26 00             	andl   $0x0,(%esi)
404c48:	83 66 04 00          	andl   $0x0,0x4(%esi)
404c4c:	59                   	pop    %ecx
404c4d:	5e                   	pop    %esi
404c4e:	c3                   	ret
404c4f:	55                   	push   %ebp
404c50:	8b ec                	mov    %esp,%ebp
404c52:	83 ec 10             	sub    $0x10,%esp
404c55:	a1 18 60 42 00       	mov    0x426018,%eax
404c5a:	33 c5                	xor    %ebp,%eax
404c5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
404c5f:	53                   	push   %ebx
404c60:	8b 5d 08             	mov    0x8(%ebp),%ebx
404c63:	8d 45 f4             	lea    -0xc(%ebp),%eax
404c66:	56                   	push   %esi
404c67:	57                   	push   %edi
404c68:	50                   	push   %eax
404c69:	53                   	push   %ebx
404c6a:	8b f1                	mov    %ecx,%esi
404c6c:	ff 15 24 80 42 00    	call   *0x428024
404c72:	8b f8                	mov    %eax,%edi
404c74:	85 ff                	test   %edi,%edi
404c76:	74 6e                	je     0x404ce6
404c78:	57                   	push   %edi
404c79:	e8 77 4a 01 00       	call   0x4196f5
404c7e:	59                   	pop    %ecx
404c7f:	50                   	push   %eax
404c80:	57                   	push   %edi
404c81:	ff 75 f4             	push   -0xc(%ebp)
404c84:	89 06                	mov    %eax,(%esi)
404c86:	53                   	push   %ebx
404c87:	ff 15 1c 80 42 00    	call   *0x42801c
404c8d:	85 c0                	test   %eax,%eax
404c8f:	75 0b                	jne    0x404c9c
404c91:	ff 36                	push   (%esi)
404c93:	e8 59 48 01 00       	call   0x4194f1
404c98:	33 ff                	xor    %edi,%edi
404c9a:	eb 44                	jmp    0x404ce0
404c9c:	8d 45 f8             	lea    -0x8(%ebp),%eax
404c9f:	33 ff                	xor    %edi,%edi
404ca1:	50                   	push   %eax
404ca2:	8d 45 f0             	lea    -0x10(%ebp),%eax
404ca5:	89 7d f8             	mov    %edi,-0x8(%ebp)
404ca8:	50                   	push   %eax
404ca9:	68 80 34 42 00       	push   $0x423480
404cae:	ff 36                	push   (%esi)
404cb0:	89 7d f0             	mov    %edi,-0x10(%ebp)
404cb3:	ff 15 20 80 42 00    	call   *0x428020
404cb9:	85 c0                	test   %eax,%eax
404cbb:	74 1c                	je     0x404cd9
404cbd:	39 7d f8             	cmp    %edi,-0x8(%ebp)
404cc0:	74 17                	je     0x404cd9
404cc2:	8b 45 f0             	mov    -0x10(%ebp),%eax
404cc5:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
404cc9:	0f b7 00             	movzwl (%eax),%eax
404ccc:	c1 e0 10             	shl    $0x10,%eax
404ccf:	0b c8                	or     %eax,%ecx
404cd1:	33 c0                	xor    %eax,%eax
404cd3:	89 4e 04             	mov    %ecx,0x4(%esi)
404cd6:	40                   	inc    %eax
404cd7:	eb 0f                	jmp    0x404ce8
404cd9:	ff 36                	push   (%esi)
404cdb:	e8 11 48 01 00       	call   0x4194f1
404ce0:	89 7e 04             	mov    %edi,0x4(%esi)
404ce3:	89 3e                	mov    %edi,(%esi)
404ce5:	59                   	pop    %ecx
404ce6:	33 c0                	xor    %eax,%eax
404ce8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404ceb:	5f                   	pop    %edi
404cec:	5e                   	pop    %esi
404ced:	33 cd                	xor    %ebp,%ecx
404cef:	5b                   	pop    %ebx
404cf0:	e8 00 3f 00 00       	call   0x408bf5
404cf5:	c9                   	leave
404cf6:	c2 04 00             	ret    $0x4
404cf9:	55                   	push   %ebp
404cfa:	8b ec                	mov    %esp,%ebp
404cfc:	83 ec 20             	sub    $0x20,%esp
404cff:	a1 18 60 42 00       	mov    0x426018,%eax
404d04:	33 c5                	xor    %ebp,%eax
404d06:	89 45 fc             	mov    %eax,-0x4(%ebp)
404d09:	53                   	push   %ebx
404d0a:	8b 5d 08             	mov    0x8(%ebp),%ebx
404d0d:	56                   	push   %esi
404d0e:	8b f1                	mov    %ecx,%esi
404d10:	89 5d e8             	mov    %ebx,-0x18(%ebp)
404d13:	57                   	push   %edi
404d14:	33 ff                	xor    %edi,%edi
404d16:	39 3e                	cmp    %edi,(%esi)
404d18:	75 1f                	jne    0x404d39
404d1a:	68 80 14 42 00       	push   $0x421480
404d1f:	8b cb                	mov    %ebx,%ecx
404d21:	e8 42 e9 ff ff       	call   0x403668
404d26:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404d29:	8b c3                	mov    %ebx,%eax
404d2b:	5f                   	pop    %edi
404d2c:	5e                   	pop    %esi
404d2d:	33 cd                	xor    %ebp,%ecx
404d2f:	5b                   	pop    %ebx
404d30:	e8 c0 3e 00 00       	call   0x408bf5
404d35:	c9                   	leave
404d36:	c2 08 00             	ret    $0x8
404d39:	89 7d f0             	mov    %edi,-0x10(%ebp)
404d3c:	89 7d ec             	mov    %edi,-0x14(%ebp)
404d3f:	89 7d f8             	mov    %edi,-0x8(%ebp)
404d42:	e8 e4 c5 ff ff       	call   0x40132b
404d47:	50                   	push   %eax
404d48:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404d4b:	e8 ac ed ff ff       	call   0x403afc
404d50:	89 7d f4             	mov    %edi,-0xc(%ebp)
404d53:	e8 d3 c5 ff ff       	call   0x40132b
404d58:	50                   	push   %eax
404d59:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404d5c:	e8 9b ed ff ff       	call   0x403afc
404d61:	68 bc 27 42 00       	push   $0x4227bc
404d66:	ff 76 04             	push   0x4(%esi)
404d69:	8d 45 f4             	lea    -0xc(%ebp),%eax
404d6c:	68 b4 34 42 00       	push   $0x4234b4
404d71:	50                   	push   %eax
404d72:	e8 7a 18 00 00       	call   0x4065f1
404d77:	83 c4 10             	add    $0x10,%esp
404d7a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
404d7d:	57                   	push   %edi
404d7e:	e8 5d e9 ff ff       	call   0x4036e0
404d83:	8d 4d f0             	lea    -0x10(%ebp),%ecx
404d86:	51                   	push   %ecx
404d87:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404d8a:	51                   	push   %ecx
404d8b:	50                   	push   %eax
404d8c:	ff 36                	push   (%esi)
404d8e:	ff 15 20 80 42 00    	call   *0x428020
404d94:	85 c0                	test   %eax,%eax
404d96:	0f 84 c0 00 00 00    	je     0x404e5c
404d9c:	39 7d f0             	cmp    %edi,-0x10(%ebp)
404d9f:	0f 84 b7 00 00 00    	je     0x404e5c
404da5:	8b 5d ec             	mov    -0x14(%ebp),%ebx
404da8:	85 db                	test   %ebx,%ebx
404daa:	0f 84 a9 00 00 00    	je     0x404e59
404db0:	53                   	push   %ebx
404db1:	e8 7b bc 00 00       	call   0x410a31
404db6:	8b f8                	mov    %eax,%edi
404db8:	59                   	pop    %ecx
404db9:	85 ff                	test   %edi,%edi
404dbb:	75 0d                	jne    0x404dca
404dbd:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404dc0:	e8 81 e9 ff ff       	call   0x403746
404dc5:	e9 8f 00 00 00       	jmp    0x404e59
404dca:	8b 45 f8             	mov    -0x8(%ebp),%eax
404dcd:	8b cb                	mov    %ebx,%ecx
404dcf:	2b c8                	sub    %eax,%ecx
404dd1:	d1 f9                	sar    $1,%ecx
404dd3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
404dd6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404dd9:	8b 70 f4             	mov    -0xc(%eax),%esi
404ddc:	57                   	push   %edi
404ddd:	e8 fe e8 ff ff       	call   0x4036e0
404de2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
404de5:	89 45 e0             	mov    %eax,-0x20(%ebp)
404de8:	3b d6                	cmp    %esi,%edx
404dea:	77 50                	ja     0x404e3c
404dec:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404def:	8d 14 50             	lea    (%eax,%edx,2),%edx
404df2:	8b 71 f8             	mov    -0x8(%ecx),%esi
404df5:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
404df8:	85 c9                	test   %ecx,%ecx
404dfa:	74 54                	je     0x404e50
404dfc:	85 c0                	test   %eax,%eax
404dfe:	75 12                	jne    0x404e12
404e00:	e8 ce 9e 00 00       	call   0x40ecd3
404e05:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
404e0b:	e8 06 9e 00 00       	call   0x40ec16
404e10:	eb 3e                	jmp    0x404e50
404e12:	85 d2                	test   %edx,%edx
404e14:	74 ea                	je     0x404e00
404e16:	8d 04 36             	lea    (%esi,%esi,1),%eax
404e19:	3b c1                	cmp    %ecx,%eax
404e1b:	73 0d                	jae    0x404e2a
404e1d:	e8 b1 9e 00 00       	call   0x40ecd3
404e22:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
404e28:	eb e1                	jmp    0x404e0b
404e2a:	51                   	push   %ecx
404e2b:	52                   	push   %edx
404e2c:	ff 75 e0             	push   -0x20(%ebp)
404e2f:	0f ae e8             	lfence
404e32:	e8 99 4d 00 00       	call   0x409bd0
404e37:	83 c4 0c             	add    $0xc,%esp
404e3a:	eb 14                	jmp    0x404e50
404e3c:	0f ae e8             	lfence
404e3f:	8b 55 f8             	mov    -0x8(%ebp),%edx
404e42:	8b c8                	mov    %eax,%ecx
404e44:	57                   	push   %edi
404e45:	53                   	push   %ebx
404e46:	8b 52 f8             	mov    -0x8(%edx),%edx
404e49:	e8 3a ee ff ff       	call   0x403c88
404e4e:	59                   	pop    %ecx
404e4f:	59                   	pop    %ecx
404e50:	57                   	push   %edi
404e51:	8d 4d f8             	lea    -0x8(%ebp),%ecx
404e54:	e8 26 eb ff ff       	call   0x40397f
404e59:	8b 5d e8             	mov    -0x18(%ebp),%ebx
404e5c:	8b 45 f4             	mov    -0xc(%ebp),%eax
404e5f:	ff 70 f8             	push   -0x8(%eax)
404e62:	50                   	push   %eax
404e63:	e8 f1 bc 00 00       	call   0x410b59
404e68:	8b d0                	mov    %eax,%edx
404e6a:	59                   	pop    %ecx
404e6b:	59                   	pop    %ecx
404e6c:	85 d2                	test   %edx,%edx
404e6e:	78 3c                	js     0x404eac
404e70:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404e73:	3b 51 f8             	cmp    -0x8(%ecx),%edx
404e76:	7f 34                	jg     0x404eac
404e78:	8b 75 f8             	mov    -0x8(%ebp),%esi
404e7b:	89 51 f4             	mov    %edx,-0xc(%ecx)
404e7e:	33 c9                	xor    %ecx,%ecx
404e80:	8b 45 f4             	mov    -0xc(%ebp),%eax
404e83:	66 89 0c 50          	mov    %cx,(%eax,%edx,2)
404e87:	8d 4e f0             	lea    -0x10(%esi),%ecx
404e8a:	e8 a6 ec ff ff       	call   0x403b35
404e8f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404e92:	83 c0 10             	add    $0x10,%eax
404e95:	89 03                	mov    %eax,(%ebx)
404e97:	8d 49 f0             	lea    -0x10(%ecx),%ecx
404e9a:	e8 63 c4 ff ff       	call   0x401302
404e9f:	8d 4e f0             	lea    -0x10(%esi),%ecx
404ea2:	e8 5b c4 ff ff       	call   0x401302
404ea7:	e9 7a fe ff ff       	jmp    0x404d26
404eac:	68 57 00 07 80       	push   $0x80070057
404eb1:	e8 09 c2 ff ff       	call   0x4010bf
404eb6:	cc                   	int3
404eb7:	cc                   	int3
404eb8:	cc                   	int3
404eb9:	cc                   	int3
404eba:	cc                   	int3
404ebb:	cc                   	int3
404ebc:	cc                   	int3
404ebd:	cc                   	int3
404ebe:	cc                   	int3
404ebf:	cc                   	int3
404ec0:	55                   	push   %ebp
404ec1:	8b ec                	mov    %esp,%ebp
404ec3:	53                   	push   %ebx
404ec4:	8b 5d 10             	mov    0x10(%ebp),%ebx
404ec7:	85 db                	test   %ebx,%ebx
404ec9:	75 07                	jne    0x404ed2
404ecb:	b8 03 40 00 80       	mov    $0x80004003,%eax
404ed0:	eb 67                	jmp    0x404f39
404ed2:	6a 10                	push   $0x10
404ed4:	ff 75 0c             	push   0xc(%ebp)
404ed7:	68 f8 34 42 00       	push   $0x4234f8
404edc:	e8 5f 49 01 00       	call   0x419840
404ee1:	83 c4 0c             	add    $0xc,%esp
404ee4:	85 c0                	test   %eax,%eax
404ee6:	74 36                	je     0x404f1e
404ee8:	6a 10                	push   $0x10
404eea:	ff 75 0c             	push   0xc(%ebp)
404eed:	68 e8 34 42 00       	push   $0x4234e8
404ef2:	e8 49 49 01 00       	call   0x419840
404ef7:	83 c4 0c             	add    $0xc,%esp
404efa:	85 c0                	test   %eax,%eax
404efc:	74 20                	je     0x404f1e
404efe:	6a 10                	push   $0x10
404f00:	ff 75 0c             	push   0xc(%ebp)
404f03:	68 08 35 42 00       	push   $0x423508
404f08:	e8 33 49 01 00       	call   0x419840
404f0d:	83 c4 0c             	add    $0xc,%esp
404f10:	85 c0                	test   %eax,%eax
404f12:	74 0a                	je     0x404f1e
404f14:	83 23 00             	andl   $0x0,(%ebx)
404f17:	b8 02 40 00 80       	mov    $0x80004002,%eax
404f1c:	eb 1b                	jmp    0x404f39
404f1e:	56                   	push   %esi
404f1f:	57                   	push   %edi
404f20:	8b 7d 08             	mov    0x8(%ebp),%edi
404f23:	57                   	push   %edi
404f24:	8b 07                	mov    (%edi),%eax
404f26:	8b 70 04             	mov    0x4(%eax),%esi
404f29:	8b ce                	mov    %esi,%ecx
404f2b:	ff 15 50 c2 41 00    	call   *0x41c250
404f31:	ff d6                	call   *%esi
404f33:	89 3b                	mov    %edi,(%ebx)
404f35:	33 c0                	xor    %eax,%eax
404f37:	5f                   	pop    %edi
404f38:	5e                   	pop    %esi
404f39:	5b                   	pop    %ebx
404f3a:	5d                   	pop    %ebp
404f3b:	c2 0c 00             	ret    $0xc
404f3e:	cc                   	int3
404f3f:	cc                   	int3
404f40:	55                   	push   %ebp
404f41:	8b ec                	mov    %esp,%ebp
404f43:	8b 4d 08             	mov    0x8(%ebp),%ecx
404f46:	8b 41 04             	mov    0x4(%ecx),%eax
404f49:	40                   	inc    %eax
404f4a:	89 41 04             	mov    %eax,0x4(%ecx)
404f4d:	5d                   	pop    %ebp
404f4e:	c2 04 00             	ret    $0x4
404f51:	cc                   	int3
404f52:	cc                   	int3
404f53:	cc                   	int3
404f54:	cc                   	int3
404f55:	cc                   	int3
404f56:	cc                   	int3
404f57:	cc                   	int3
404f58:	cc                   	int3
404f59:	cc                   	int3
404f5a:	cc                   	int3
404f5b:	cc                   	int3
404f5c:	cc                   	int3
404f5d:	cc                   	int3