420cf3:	8d 0c 78             	lea    (%eax,%edi,2),%ecx
420cf6:	89 56 10             	mov    %edx,0x10(%esi)
420cf9:	2b d7                	sub    %edi,%edx
420cfb:	8d 04 55 02 00 00 00 	lea    0x2(,%edx,2),%eax
420d02:	50                   	push   %eax
420d03:	8d 04 59             	lea    (%ecx,%ebx,2),%eax
420d06:	50                   	push   %eax
420d07:	51                   	push   %ecx
420d08:	e8 d3 2b 02 00       	call   0x4438e0
420d0d:	83 c4 0c             	add    $0xc,%esp
420d10:	8b c6                	mov    %esi,%eax
420d12:	5f                   	pop    %edi
420d13:	5e                   	pop    %esi
420d14:	5b                   	pop    %ebx
420d15:	5d                   	pop    %ebp
420d16:	c2 08 00             	ret    $0x8
420d19:	e8 b4 ca ff ff       	call   0x41d7d2
420d1e:	cc                   	int3
420d1f:	55                   	push   %ebp
420d20:	8b ec                	mov    %esp,%ebp
420d22:	51                   	push   %ecx
420d23:	51                   	push   %ecx
420d24:	56                   	push   %esi
420d25:	8b 75 0c             	mov    0xc(%ebp),%esi
420d28:	57                   	push   %edi
420d29:	8b f9                	mov    %ecx,%edi
420d2b:	3b 75 10             	cmp    0x10(%ebp),%esi
420d2e:	74 26                	je     0x420d56
420d30:	8d 45 f8             	lea    -0x8(%ebp),%eax
420d33:	50                   	push   %eax
420d34:	8d 45 f8             	lea    -0x8(%ebp),%eax
420d37:	50                   	push   %eax
420d38:	8d 45 ff             	lea    -0x1(%ebp),%eax
420d3b:	50                   	push   %eax
420d3c:	e8 81 3d fe ff       	call   0x404ac2
420d41:	56                   	push   %esi
420d42:	ff 77 04             	push   0x4(%edi)
420d45:	ff 75 10             	push   0x10(%ebp)
420d48:	e8 75 25 fe ff       	call   0x4032c2
420d4d:	8b 75 0c             	mov    0xc(%ebp),%esi
420d50:	83 c4 18             	add    $0x18,%esp
420d53:	89 47 04             	mov    %eax,0x4(%edi)
420d56:	8b 45 08             	mov    0x8(%ebp),%eax
420d59:	5f                   	pop    %edi
420d5a:	89 30                	mov    %esi,(%eax)
420d5c:	5e                   	pop    %esi
420d5d:	c9                   	leave
420d5e:	c2 0c 00             	ret    $0xc
420d61:	55                   	push   %ebp
420d62:	8b ec                	mov    %esp,%ebp
420d64:	83 ec 18             	sub    $0x18,%esp
420d67:	56                   	push   %esi
420d68:	57                   	push   %edi
420d69:	ff 75 10             	push   0x10(%ebp)
420d6c:	8d 45 f8             	lea    -0x8(%ebp),%eax
420d6f:	8b f9                	mov    %ecx,%edi
420d71:	ff 75 0c             	push   0xc(%ebp)
420d74:	50                   	push   %eax
420d75:	e8 42 a9 ff ff       	call   0x41b6bc
420d7a:	ff 75 18             	push   0x18(%ebp)
420d7d:	8d 45 f0             	lea    -0x10(%ebp),%eax
420d80:	8b cf                	mov    %edi,%ecx
420d82:	ff 75 14             	push   0x14(%ebp)
420d85:	50                   	push   %eax
420d86:	e8 31 a9 ff ff       	call   0x41b6bc
420d8b:	8b 75 f8             	mov    -0x8(%ebp),%esi
420d8e:	8b 07                	mov    (%edi),%eax
420d90:	2b f0                	sub    %eax,%esi
420d92:	8b 4d f0             	mov    -0x10(%ebp),%ecx
420d95:	c1 fe 02             	sar    $0x2,%esi
420d98:	c1 e6 05             	shl    $0x5,%esi
420d9b:	03 75 fc             	add    -0x4(%ebp),%esi
420d9e:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
420da1:	75 08                	jne    0x420dab
420da3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
420da6:	39 4d fc             	cmp    %ecx,-0x4(%ebp)
420da9:	74 40                	je     0x420deb
420dab:	8d 45 e8             	lea    -0x18(%ebp),%eax
420dae:	8b cf                	mov    %edi,%ecx
420db0:	50                   	push   %eax
420db1:	e8 1b fe ff ff       	call   0x420bd1
420db6:	ff 75 fc             	push   -0x4(%ebp)
420db9:	ff 75 f8             	push   -0x8(%ebp)
420dbc:	ff 70 04             	push   0x4(%eax)
420dbf:	ff 30                	push   (%eax)
420dc1:	8d 45 f0             	lea    -0x10(%ebp),%eax
420dc4:	ff 75 f4             	push   -0xc(%ebp)
420dc7:	ff 75 f0             	push   -0x10(%ebp)
420dca:	50                   	push   %eax
420dcb:	e8 ac 5e fe ff       	call   0x406c7c
420dd0:	8b 45 f0             	mov    -0x10(%ebp),%eax
420dd3:	83 c4 1c             	add    $0x1c,%esp
420dd6:	2b 07                	sub    (%edi),%eax
420dd8:	8b cf                	mov    %edi,%ecx
420dda:	c1 f8 02             	sar    $0x2,%eax
420ddd:	c1 e0 05             	shl    $0x5,%eax
420de0:	03 45 f4             	add    -0xc(%ebp),%eax
420de3:	50                   	push   %eax
420de4:	e8 81 c7 ff ff       	call   0x41d56a
420de9:	8b 07                	mov    (%edi),%eax
420deb:	83 65 10 00          	andl   $0x0,0x10(%ebp)
420def:	8d 4d 0c             	lea    0xc(%ebp),%ecx
420df2:	56                   	push   %esi
420df3:	ff 75 08             	push   0x8(%ebp)
420df6:	89 45 0c             	mov    %eax,0xc(%ebp)
420df9:	e8 f2 f1 fe ff       	call   0x40fff0
420dfe:	8b 45 08             	mov    0x8(%ebp),%eax
420e01:	5f                   	pop    %edi
420e02:	5e                   	pop    %esi
420e03:	c9                   	leave
420e04:	c2 14 00             	ret    $0x14
420e07:	8b 41 04             	mov    0x4(%ecx),%eax
420e0a:	85 c0                	test   %eax,%eax
420e0c:	74 05                	je     0x420e13
420e0e:	8b 40 04             	mov    0x4(%eax),%eax
420e11:	eb 02                	jmp    0x420e15
420e13:	33 c0                	xor    %eax,%eax
420e15:	85 c0                	test   %eax,%eax
420e17:	0f 94 c0             	sete   %al
420e1a:	c3                   	ret
420e1b:	6a 04                	push   $0x4
420e1d:	b8 61 fc 48 00       	mov    $0x48fc61,%eax
420e22:	e8 23 ec 01 00       	call   0x43fa4a
420e27:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
420e2b:	8b 01                	mov    (%ecx),%eax
420e2d:	ff 75 08             	push   0x8(%ebp)
420e30:	ff 50 18             	call   *0x18(%eax)
420e33:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420e37:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
420e3e:	8b 45 08             	mov    0x8(%ebp),%eax
420e41:	e8 cd eb 01 00       	call   0x43fa13
420e46:	c2 04 00             	ret    $0x4
420e49:	55                   	push   %ebp
420e4a:	8b ec                	mov    %esp,%ebp
420e4c:	8a 45 14             	mov    0x14(%ebp),%al
420e4f:	53                   	push   %ebx
420e50:	8b 5d 10             	mov    0x10(%ebp),%ebx
420e53:	56                   	push   %esi
420e54:	8b 75 08             	mov    0x8(%ebp),%esi
420e57:	57                   	push   %edi
420e58:	8b 7d 0c             	mov    0xc(%ebp),%edi
420e5b:	2b fb                	sub    %ebx,%edi
420e5d:	88 45 17             	mov    %al,0x17(%ebp)
420e60:	8d 45 17             	lea    0x17(%ebp),%eax
420e63:	89 7d 0c             	mov    %edi,0xc(%ebp)
420e66:	50                   	push   %eax
420e67:	d1 ef                	shr    $1,%edi
420e69:	57                   	push   %edi
420e6a:	56                   	push   %esi
420e6b:	e8 d8 7c fe ff       	call   0x408b48
420e70:	8d 45 17             	lea    0x17(%ebp),%eax
420e73:	03 f7                	add    %edi,%esi
420e75:	50                   	push   %eax
420e76:	8b 45 0c             	mov    0xc(%ebp),%eax
420e79:	2b c7                	sub    %edi,%eax
420e7b:	50                   	push   %eax
420e7c:	8d 0c 1e             	lea    (%esi,%ebx,1),%ecx
420e7f:	51                   	push   %ecx
420e80:	e8 c3 7c fe ff       	call   0x408b48
420e85:	83 c4 18             	add    $0x18,%esp
420e88:	8b c6                	mov    %esi,%eax
420e8a:	5f                   	pop    %edi
420e8b:	5e                   	pop    %esi
420e8c:	5b                   	pop    %ebx
420e8d:	5d                   	pop    %ebp
420e8e:	c3                   	ret
420e8f:	55                   	push   %ebp
420e90:	8b ec                	mov    %esp,%ebp
420e92:	51                   	push   %ecx
420e93:	51                   	push   %ecx
420e94:	56                   	push   %esi
420e95:	57                   	push   %edi
420e96:	8b f9                	mov    %ecx,%edi
420e98:	8b 37                	mov    (%edi),%esi
420e9a:	eb 22                	jmp    0x420ebe
420e9c:	8b 06                	mov    (%esi),%eax
420e9e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
420ea1:	89 45 f8             	mov    %eax,-0x8(%ebp)
420ea4:	8b 46 04             	mov    0x4(%esi),%eax
420ea7:	89 45 fc             	mov    %eax,-0x4(%ebp)
420eaa:	8b 45 08             	mov    0x8(%ebp),%eax
420ead:	ff 70 04             	push   0x4(%eax)
420eb0:	ff 30                	push   (%eax)
420eb2:	e8 15 eb ff ff       	call   0x41f9cc
420eb7:	85 c0                	test   %eax,%eax
420eb9:	74 10                	je     0x420ecb
420ebb:	83 c6 18             	add    $0x18,%esi
420ebe:	3b 77 04             	cmp    0x4(%edi),%esi
420ec1:	75 d9                	jne    0x420e9c
420ec3:	33 c0                	xor    %eax,%eax
420ec5:	5f                   	pop    %edi
420ec6:	5e                   	pop    %esi
420ec7:	c9                   	leave
420ec8:	c2 04 00             	ret    $0x4
420ecb:	8d 46 08             	lea    0x8(%esi),%eax
420ece:	eb f5                	jmp    0x420ec5
420ed0:	55                   	push   %ebp
420ed1:	8b ec                	mov    %esp,%ebp
420ed3:	8b 55 0c             	mov    0xc(%ebp),%edx
420ed6:	8b 4d 08             	mov    0x8(%ebp),%ecx
420ed9:	56                   	push   %esi
420eda:	33 f6                	xor    %esi,%esi
420edc:	85 d2                	test   %edx,%edx
420ede:	74 18                	je     0x420ef8
420ee0:	8b 45 10             	mov    0x10(%ebp),%eax
420ee3:	0f b7 00             	movzwl (%eax),%eax
420ee6:	eb 09                	jmp    0x420ef1
420ee8:	83 fa 01             	cmp    $0x1,%edx
420eeb:	74 0b                	je     0x420ef8
420eed:	4a                   	dec    %edx
420eee:	83 c1 02             	add    $0x2,%ecx
420ef1:	66 39 01             	cmp    %ax,(%ecx)
420ef4:	75 f2                	jne    0x420ee8
420ef6:	8b f1                	mov    %ecx,%esi
420ef8:	8b c6                	mov    %esi,%eax
420efa:	5e                   	pop    %esi
420efb:	5d                   	pop    %ebp
420efc:	c3                   	ret
420efd:	55                   	push   %ebp
420efe:	8b ec                	mov    %esp,%ebp
420f00:	8b 45 08             	mov    0x8(%ebp),%eax
420f03:	56                   	push   %esi
420f04:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
420f08:	8b 70 10             	mov    0x10(%eax),%esi
420f0b:	72 02                	jb     0x420f0f
420f0d:	8b 00                	mov    (%eax),%eax
420f0f:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
420f13:	8b 51 10             	mov    0x10(%ecx),%edx
420f16:	72 02                	jb     0x420f1a
420f18:	8b 09                	mov    (%ecx),%ecx
420f1a:	56                   	push   %esi
420f1b:	50                   	push   %eax
420f1c:	ff 75 0c             	push   0xc(%ebp)
420f1f:	52                   	push   %edx
420f20:	51                   	push   %ecx
420f21:	e8 21 51 fe ff       	call   0x406047
420f26:	83 c4 14             	add    $0x14,%esp
420f29:	5e                   	pop    %esi
420f2a:	5d                   	pop    %ebp
420f2b:	c2 08 00             	ret    $0x8
420f2e:	55                   	push   %ebp
420f2f:	8b ec                	mov    %esp,%ebp
420f31:	8b 55 08             	mov    0x8(%ebp),%edx
420f34:	56                   	push   %esi
420f35:	8d 72 02             	lea    0x2(%edx),%esi
420f38:	66 8b 02             	mov    (%edx),%ax
420f3b:	83 c2 02             	add    $0x2,%edx
420f3e:	66 85 c0             	test   %ax,%ax
420f41:	75 f5                	jne    0x420f38
420f43:	8b 41 10             	mov    0x10(%ecx),%eax
420f46:	2b d6                	sub    %esi,%edx
420f48:	d1 fa                	sar    $1,%edx
420f4a:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
420f4e:	5e                   	pop    %esi
420f4f:	72 02                	jb     0x420f53
420f51:	8b 09                	mov    (%ecx),%ecx
420f53:	52                   	push   %edx
420f54:	ff 75 08             	push   0x8(%ebp)
420f57:	ff 75 0c             	push   0xc(%ebp)
420f5a:	50                   	push   %eax
420f5b:	51                   	push   %ecx
420f5c:	e8 e6 50 fe ff       	call   0x406047
420f61:	83 c4 14             	add    $0x14,%esp
420f64:	5d                   	pop    %ebp
420f65:	c2 08 00             	ret    $0x8
420f68:	55                   	push   %ebp
420f69:	8b ec                	mov    %esp,%ebp
420f6b:	8b 55 08             	mov    0x8(%ebp),%edx
420f6e:	56                   	push   %esi
420f6f:	8d 72 02             	lea    0x2(%edx),%esi
420f72:	66 8b 02             	mov    (%edx),%ax
420f75:	83 c2 02             	add    $0x2,%edx
420f78:	66 85 c0             	test   %ax,%ax
420f7b:	75 f5                	jne    0x420f72
420f7d:	8b 41 10             	mov    0x10(%ecx),%eax
420f80:	2b d6                	sub    %esi,%edx
420f82:	d1 fa                	sar    $1,%edx
420f84:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
420f88:	5e                   	pop    %esi
420f89:	72 02                	jb     0x420f8d
420f8b:	8b 09                	mov    (%ecx),%ecx
420f8d:	ff 75 08             	push   0x8(%ebp)
420f90:	52                   	push   %edx
420f91:	ff 75 08             	push   0x8(%ebp)
420f94:	ff 75 0c             	push   0xc(%ebp)
420f97:	50                   	push   %eax
420f98:	51                   	push   %ecx
420f99:	e8 1e 51 fe ff       	call   0x4060bc
420f9e:	83 c4 18             	add    $0x18,%esp
420fa1:	5d                   	pop    %ebp
420fa2:	c2 08 00             	ret    $0x8
420fa5:	55                   	push   %ebp
420fa6:	8b ec                	mov    %esp,%ebp
420fa8:	8b 45 08             	mov    0x8(%ebp),%eax
420fab:	85 41 0c             	test   %eax,0xc(%ecx)
420fae:	0f 95 c0             	setne  %al
420fb1:	5d                   	pop    %ebp
420fb2:	c2 04 00             	ret    $0x4
420fb5:	6a 08                	push   $0x8
420fb7:	b8 84 fc 48 00       	mov    $0x48fc84,%eax
420fbc:	e8 89 ea 01 00       	call   0x43fa4a
420fc1:	8b f1                	mov    %ecx,%esi
420fc3:	8b 06                	mov    (%esi),%eax
420fc5:	8b 40 04             	mov    0x4(%eax),%eax
420fc8:	83 7c 30 38 00       	cmpl   $0x0,0x38(%eax,%esi,1)
420fcd:	74 53                	je     0x421022
420fcf:	56                   	push   %esi
420fd0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
420fd3:	e8 11 c1 fe ff       	call   0x40d0e9
420fd8:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
420fdc:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
420fe0:	74 34                	je     0x421016
420fe2:	8b 06                	mov    (%esi),%eax
420fe4:	8b 40 04             	mov    0x4(%eax),%eax
420fe7:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
420feb:	8b 01                	mov    (%ecx),%eax
420fed:	ff 50 34             	call   *0x34(%eax)
420ff0:	83 f8 ff             	cmp    $0xffffffff,%eax
420ff3:	75 21                	jne    0x421016
420ff5:	8b 06                	mov    (%esi),%eax
420ff7:	6a 00                	push   $0x0
420ff9:	8b 48 04             	mov    0x4(%eax),%ecx
420ffc:	03 ce                	add    %esi,%ecx
420ffe:	8b 51 0c             	mov    0xc(%ecx),%edx
421001:	8b c2                	mov    %edx,%eax
421003:	83 c8 04             	or     $0x4,%eax
421006:	83 79 38 00          	cmpl   $0x0,0x38(%ecx)
42100a:	0f 44 d0             	cmove  %eax,%edx
42100d:	83 ca 04             	or     $0x4,%edx
421010:	52                   	push   %edx
421011:	e8 33 e9 ff ff       	call   0x41f949
421016:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
42101a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42101d:	e8 38 e5 fe ff       	call   0x40f55a
421022:	8b c6                	mov    %esi,%eax
421024:	e8 ea e9 01 00       	call   0x43fa13
421029:	c3                   	ret
42102a:	55                   	push   %ebp
42102b:	8b ec                	mov    %esp,%ebp
42102d:	8d 45 14             	lea    0x14(%ebp),%eax
421030:	50                   	push   %eax
421031:	6a 00                	push   $0x0
421033:	ff 75 10             	push   0x10(%ebp)
421036:	6a ff                	push   $0xffffffff
421038:	ff 75 0c             	push   0xc(%ebp)
42103b:	ff 75 08             	push   0x8(%ebp)
42103e:	e8 e5 2a 00 00       	call   0x423b28
421043:	83 c4 18             	add    $0x18,%esp
421046:	5d                   	pop    %ebp
421047:	c3                   	ret