438cc4:	8b ce                	mov    %esi,%ecx
438cc6:	c6 04 01 00          	movb   $0x0,(%ecx,%eax,1)
438cca:	8b 7e 10             	mov    0x10(%esi),%edi
438ccd:	3b fb                	cmp    %ebx,%edi
438ccf:	77 1f                	ja     0x438cf0
438cd1:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438cd5:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
438cdc:	0f 82 a2 00 00 00    	jb     0x438d84
438ce2:	8b 06                	mov    (%esi),%eax
438ce4:	5f                   	pop    %edi
438ce5:	c6 00 00             	movb   $0x0,(%eax)
438ce8:	8b c6                	mov    %esi,%eax
438cea:	5e                   	pop    %esi
438ceb:	5b                   	pop    %ebx
438cec:	5d                   	pop    %ebp
438ced:	c2 0c 00             	ret    $0xc
438cf0:	85 db                	test   %ebx,%ebx
438cf2:	0f 84 c5 00 00 00    	je     0x438dbd
438cf8:	8b 46 14             	mov    0x14(%esi),%eax
438cfb:	83 f8 10             	cmp    $0x10,%eax
438cfe:	72 04                	jb     0x438d04
438d00:	8b 0e                	mov    (%esi),%ecx
438d02:	eb 02                	jmp    0x438d06
438d04:	8b ce                	mov    %esi,%ecx
438d06:	2b fb                	sub    %ebx,%edi
438d08:	74 11                	je     0x438d1b
438d0a:	57                   	push   %edi
438d0b:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
438d0e:	50                   	push   %eax
438d0f:	51                   	push   %ecx
438d10:	e8 6b a7 1a 00       	call   0x5e3480
438d15:	8b 46 14             	mov    0x14(%esi),%eax
438d18:	83 c4 0c             	add    $0xc,%esp
438d1b:	89 7e 10             	mov    %edi,0x10(%esi)
438d1e:	83 f8 10             	cmp    $0x10,%eax
438d21:	0f 82 90 00 00 00    	jb     0x438db7
438d27:	8b 06                	mov    (%esi),%eax
438d29:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438d2d:	8b c6                	mov    %esi,%eax
438d2f:	5f                   	pop    %edi
438d30:	5e                   	pop    %esi
438d31:	5b                   	pop    %ebx
438d32:	5d                   	pop    %ebp
438d33:	c2 0c 00             	ret    $0xc
438d36:	83 ff fe             	cmp    $0xfffffffe,%edi
438d39:	0f 87 91 00 00 00    	ja     0x438dd0
438d3f:	8b 4e 14             	mov    0x14(%esi),%ecx
438d42:	3b cf                	cmp    %edi,%ecx
438d44:	73 24                	jae    0x438d6a
438d46:	ff 76 10             	push   0x10(%esi)
438d49:	8b ce                	mov    %esi,%ecx
438d4b:	57                   	push   %edi
438d4c:	e8 2f 05 00 00       	call   0x439280
438d51:	8b 45 08             	mov    0x8(%ebp),%eax
438d54:	85 ff                	test   %edi,%edi
438d56:	74 65                	je     0x438dbd
438d58:	83 78 14 10          	cmpl   $0x10,0x14(%eax)
438d5c:	72 02                	jb     0x438d60
438d5e:	8b 00                	mov    (%eax),%eax
438d60:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438d64:	72 2a                	jb     0x438d90
438d66:	8b 0e                	mov    (%esi),%ecx
438d68:	eb 28                	jmp    0x438d92
438d6a:	85 ff                	test   %edi,%edi
438d6c:	75 ea                	jne    0x438d58
438d6e:	89 7e 10             	mov    %edi,0x10(%esi)
438d71:	83 f9 10             	cmp    $0x10,%ecx
438d74:	72 0e                	jb     0x438d84
438d76:	8b 06                	mov    (%esi),%eax
438d78:	5f                   	pop    %edi
438d79:	c6 00 00             	movb   $0x0,(%eax)
438d7c:	8b c6                	mov    %esi,%eax
438d7e:	5e                   	pop    %esi
438d7f:	5b                   	pop    %ebx
438d80:	5d                   	pop    %ebp
438d81:	c2 0c 00             	ret    $0xc
438d84:	8b c6                	mov    %esi,%eax
438d86:	5f                   	pop    %edi
438d87:	5e                   	pop    %esi
438d88:	5b                   	pop    %ebx
438d89:	c6 00 00             	movb   $0x0,(%eax)
438d8c:	5d                   	pop    %ebp
438d8d:	c2 0c 00             	ret    $0xc
438d90:	8b ce                	mov    %esi,%ecx
438d92:	57                   	push   %edi
438d93:	03 c3                	add    %ebx,%eax
438d95:	50                   	push   %eax
438d96:	51                   	push   %ecx
438d97:	e8 64 a1 1a 00       	call   0x5e2f00
438d9c:	83 c4 0c             	add    $0xc,%esp
438d9f:	89 7e 10             	mov    %edi,0x10(%esi)
438da2:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
438da6:	72 0f                	jb     0x438db7
438da8:	8b 06                	mov    (%esi),%eax
438daa:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438dae:	8b c6                	mov    %esi,%eax
438db0:	5f                   	pop    %edi
438db1:	5e                   	pop    %esi
438db2:	5b                   	pop    %ebx
438db3:	5d                   	pop    %ebp
438db4:	c2 0c 00             	ret    $0xc
438db7:	8b c6                	mov    %esi,%eax
438db9:	c6 04 38 00          	movb   $0x0,(%eax,%edi,1)
438dbd:	5f                   	pop    %edi
438dbe:	8b c6                	mov    %esi,%eax
438dc0:	5e                   	pop    %esi
438dc1:	5b                   	pop    %ebx
438dc2:	5d                   	pop    %ebp
438dc3:	c2 0c 00             	ret    $0xc
438dc6:	e8 05 03 00 00       	call   0x4390d0
438dcb:	e8 00 03 00 00       	call   0x4390d0
438dd0:	e8 fb 01 00 00       	call   0x438fd0
438dd5:	cc                   	int3
438dd6:	cc                   	int3
438dd7:	cc                   	int3
438dd8:	cc                   	int3
438dd9:	cc                   	int3
438dda:	cc                   	int3
438ddb:	cc                   	int3
438ddc:	cc                   	int3
438ddd:	cc                   	int3
438dde:	cc                   	int3
438ddf:	cc                   	int3
438de0:	55                   	push   %ebp
438de1:	8b ec                	mov    %esp,%ebp
438de3:	8b 45 0c             	mov    0xc(%ebp),%eax
438de6:	8b 4d 08             	mov    0x8(%ebp),%ecx
438de9:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
438dee:	77 30                	ja     0x438e20
438df0:	03 c0                	add    %eax,%eax
438df2:	3d 00 10 00 00       	cmp    $0x1000,%eax
438df7:	72 1a                	jb     0x438e13
438df9:	f6 c1 1f             	test   $0x1f,%cl
438dfc:	75 22                	jne    0x438e20
438dfe:	8b 41 fc             	mov    -0x4(%ecx),%eax
438e01:	3b c1                	cmp    %ecx,%eax
438e03:	73 1b                	jae    0x438e20
438e05:	2b c8                	sub    %eax,%ecx
438e07:	83 f9 04             	cmp    $0x4,%ecx
438e0a:	72 14                	jb     0x438e20
438e0c:	83 f9 23             	cmp    $0x23,%ecx
438e0f:	77 0f                	ja     0x438e20
438e11:	8b c8                	mov    %eax,%ecx
438e13:	51                   	push   %ecx
438e14:	e8 b7 76 0b 00       	call   0x4f04d0
438e19:	83 c4 04             	add    $0x4,%esp
438e1c:	5d                   	pop    %ebp
438e1d:	c2 08 00             	ret    $0x8
438e20:	e8 0a 41 1b 00       	call   0x5ecf2f
438e25:	cc                   	int3
438e26:	cc                   	int3
438e27:	cc                   	int3
438e28:	cc                   	int3
438e29:	cc                   	int3
438e2a:	cc                   	int3
438e2b:	cc                   	int3
438e2c:	cc                   	int3
438e2d:	cc                   	int3
438e2e:	cc                   	int3
438e2f:	cc                   	int3
438e30:	55                   	push   %ebp
438e31:	8b ec                	mov    %esp,%ebp
438e33:	81 7d 0c 00 10 00 00 	cmpl   $0x1000,0xc(%ebp)
438e3a:	8b 45 08             	mov    0x8(%ebp),%eax
438e3d:	72 19                	jb     0x438e58
438e3f:	a8 1f                	test   $0x1f,%al
438e41:	75 22                	jne    0x438e65
438e43:	8b 48 fc             	mov    -0x4(%eax),%ecx
438e46:	3b c8                	cmp    %eax,%ecx
438e48:	73 1b                	jae    0x438e65
438e4a:	2b c1                	sub    %ecx,%eax
438e4c:	83 f8 04             	cmp    $0x4,%eax
438e4f:	72 14                	jb     0x438e65
438e51:	83 f8 23             	cmp    $0x23,%eax
438e54:	77 0f                	ja     0x438e65
438e56:	8b c1                	mov    %ecx,%eax
438e58:	50                   	push   %eax
438e59:	e8 72 76 0b 00       	call   0x4f04d0
438e5e:	83 c4 04             	add    $0x4,%esp
438e61:	5d                   	pop    %ebp
438e62:	c2 08 00             	ret    $0x8
438e65:	e8 c5 40 1b 00       	call   0x5ecf2f
438e6a:	cc                   	int3
438e6b:	cc                   	int3
438e6c:	cc                   	int3
438e6d:	cc                   	int3
438e6e:	cc                   	int3
438e6f:	cc                   	int3
438e70:	55                   	push   %ebp
438e71:	8b ec                	mov    %esp,%ebp
438e73:	56                   	push   %esi
438e74:	8b 75 08             	mov    0x8(%ebp),%esi
438e77:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
438e7d:	77 5c                	ja     0x438edb
438e7f:	8b 41 14             	mov    0x14(%ecx),%eax
438e82:	3b c6                	cmp    %esi,%eax
438e84:	73 13                	jae    0x438e99
438e86:	ff 71 10             	push   0x10(%ecx)
438e89:	56                   	push   %esi
438e8a:	e8 51 02 00 00       	call   0x4390e0
438e8f:	85 f6                	test   %esi,%esi
438e91:	5e                   	pop    %esi
438e92:	0f 95 c0             	setne  %al
438e95:	5d                   	pop    %ebp
438e96:	c2 08 00             	ret    $0x8
438e99:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
438e9d:	74 1f                	je     0x438ebe
438e9f:	83 fe 08             	cmp    $0x8,%esi
438ea2:	73 1a                	jae    0x438ebe
438ea4:	8b 41 10             	mov    0x10(%ecx),%eax
438ea7:	3b f0                	cmp    %eax,%esi
438ea9:	0f 42 c6             	cmovb  %esi,%eax
438eac:	50                   	push   %eax
438ead:	6a 01                	push   $0x1
438eaf:	e8 ac f8 ff ff       	call   0x438760
438eb4:	85 f6                	test   %esi,%esi
438eb6:	5e                   	pop    %esi
438eb7:	0f 95 c0             	setne  %al
438eba:	5d                   	pop    %ebp
438ebb:	c2 08 00             	ret    $0x8
438ebe:	85 f6                	test   %esi,%esi
438ec0:	75 11                	jne    0x438ed3
438ec2:	89 71 10             	mov    %esi,0x10(%ecx)
438ec5:	83 f8 08             	cmp    $0x8,%eax
438ec8:	72 02                	jb     0x438ecc
438eca:	8b 09                	mov    (%ecx),%ecx
438ecc:	33 c0                	xor    %eax,%eax
438ece:	85 f6                	test   %esi,%esi
438ed0:	66 89 01             	mov    %ax,(%ecx)
438ed3:	0f 95 c0             	setne  %al
438ed6:	5e                   	pop    %esi
438ed7:	5d                   	pop    %ebp
438ed8:	c2 08 00             	ret    $0x8
438edb:	e8 f0 00 00 00       	call   0x438fd0
438ee0:	cc                   	int3
438ee1:	cc                   	int3
438ee2:	cc                   	int3
438ee3:	cc                   	int3
438ee4:	cc                   	int3
438ee5:	cc                   	int3
438ee6:	cc                   	int3
438ee7:	cc                   	int3
438ee8:	cc                   	int3
438ee9:	cc                   	int3
438eea:	cc                   	int3
438eeb:	cc                   	int3
438eec:	cc                   	int3
438eed:	cc                   	int3
438eee:	cc                   	int3
438eef:	cc                   	int3
438ef0:	55                   	push   %ebp
438ef1:	8b ec                	mov    %esp,%ebp
438ef3:	51                   	push   %ecx
438ef4:	56                   	push   %esi
438ef5:	8b f1                	mov    %ecx,%esi
438ef7:	8b 4d 08             	mov    0x8(%ebp),%ecx
438efa:	57                   	push   %edi
438efb:	8b 7e 10             	mov    0x10(%esi),%edi
438efe:	3b f9                	cmp    %ecx,%edi
438f00:	0f 82 99 00 00 00    	jb     0x438f9f
438f06:	8b 55 0c             	mov    0xc(%ebp),%edx
438f09:	8b c7                	mov    %edi,%eax
438f0b:	2b c1                	sub    %ecx,%eax
438f0d:	3b c2                	cmp    %edx,%eax
438f0f:	77 2b                	ja     0x438f3c
438f11:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
438f15:	89 4e 10             	mov    %ecx,0x10(%esi)
438f18:	72 12                	jb     0x438f2c
438f1a:	8b 06                	mov    (%esi),%eax
438f1c:	33 d2                	xor    %edx,%edx
438f1e:	5f                   	pop    %edi
438f1f:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
438f23:	8b c6                	mov    %esi,%eax
438f25:	5e                   	pop    %esi
438f26:	8b e5                	mov    %ebp,%esp
438f28:	5d                   	pop    %ebp
438f29:	c2 08 00             	ret    $0x8
438f2c:	8b c6                	mov    %esi,%eax
438f2e:	33 d2                	xor    %edx,%edx
438f30:	5f                   	pop    %edi
438f31:	5e                   	pop    %esi
438f32:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
438f36:	8b e5                	mov    %ebp,%esp
438f38:	5d                   	pop    %ebp
438f39:	c2 08 00             	ret    $0x8
438f3c:	85 d2                	test   %edx,%edx
438f3e:	74 55                	je     0x438f95
438f40:	8b 46 14             	mov    0x14(%esi),%eax
438f43:	53                   	push   %ebx
438f44:	83 f8 08             	cmp    $0x8,%eax
438f47:	72 04                	jb     0x438f4d
438f49:	8b 1e                	mov    (%esi),%ebx
438f4b:	eb 02                	jmp    0x438f4f
438f4d:	8b de                	mov    %esi,%ebx
438f4f:	2b fa                	sub    %edx,%edi
438f51:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
438f54:	89 7d fc             	mov    %edi,-0x4(%ebp)
438f57:	29 4d fc             	sub    %ecx,-0x4(%ebp)
438f5a:	74 16                	je     0x438f72
438f5c:	8b 45 fc             	mov    -0x4(%ebp),%eax
438f5f:	03 c0                	add    %eax,%eax
438f61:	50                   	push   %eax
438f62:	8d 04 53             	lea    (%ebx,%edx,2),%eax
438f65:	50                   	push   %eax
438f66:	53                   	push   %ebx
438f67:	e8 14 a5 1a 00       	call   0x5e3480
438f6c:	8b 46 14             	mov    0x14(%esi),%eax
438f6f:	83 c4 0c             	add    $0xc,%esp
438f72:	89 7e 10             	mov    %edi,0x10(%esi)
438f75:	5b                   	pop    %ebx
438f76:	83 f8 08             	cmp    $0x8,%eax
438f79:	72 12                	jb     0x438f8d
438f7b:	8b 06                	mov    (%esi),%eax
438f7d:	33 c9                	xor    %ecx,%ecx
438f7f:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
438f83:	8b c6                	mov    %esi,%eax
438f85:	5f                   	pop    %edi
438f86:	5e                   	pop    %esi
438f87:	8b e5                	mov    %ebp,%esp
438f89:	5d                   	pop    %ebp
438f8a:	c2 08 00             	ret    $0x8
438f8d:	8b c6                	mov    %esi,%eax
438f8f:	33 c9                	xor    %ecx,%ecx
438f91:	66 89 0c 78          	mov    %cx,(%eax,%edi,2)
438f95:	5f                   	pop    %edi
438f96:	8b c6                	mov    %esi,%eax
438f98:	5e                   	pop    %esi
438f99:	8b e5                	mov    %ebp,%esp
438f9b:	5d                   	pop    %ebp
438f9c:	c2 08 00             	ret    $0x8
438f9f:	e8 2c 01 00 00       	call   0x4390d0
438fa4:	cc                   	int3
438fa5:	cc                   	int3
438fa6:	cc                   	int3
438fa7:	cc                   	int3
438fa8:	cc                   	int3
438fa9:	cc                   	int3
438faa:	cc                   	int3
438fab:	cc                   	int3
438fac:	cc                   	int3
438fad:	cc                   	int3
438fae:	cc                   	int3
438faf:	cc                   	int3
438fb0:	55                   	push   %ebp
438fb1:	8b ec                	mov    %esp,%ebp
438fb3:	8b 41 10             	mov    0x10(%ecx),%eax
438fb6:	3b 45 08             	cmp    0x8(%ebp),%eax
438fb9:	72 04                	jb     0x438fbf
438fbb:	5d                   	pop    %ebp
438fbc:	c2 04 00             	ret    $0x4