409bd3:	8b 4d dc             	mov    -0x24(%ebp),%ecx
409bd6:	ff d6                	call   *%esi
409bd8:	83 f8 ff             	cmp    $0xffffffff,%eax
409bdb:	ba 04 00 00 00       	mov    $0x4,%edx
409be0:	0f 44 da             	cmove  %edx,%ebx
409be3:	eb 24                	jmp    0x409c09
409be5:	8b 55 e0             	mov    -0x20(%ebp),%edx
409be8:	6a 01                	push   $0x1
409bea:	6a 04                	push   $0x4
409bec:	8b 02                	mov    (%edx),%eax
409bee:	8b 48 04             	mov    0x4(%eax),%ecx
409bf1:	03 ca                	add    %edx,%ecx
409bf3:	e8 b8 f1 ff ff       	call   0x408db0
409bf8:	b8 fe 9b 40 00       	mov    $0x409bfe,%eax
409bfd:	c3                   	ret
409bfe:	8b 5d d8             	mov    -0x28(%ebp),%ebx
409c01:	ba 04 00 00 00       	mov    $0x4,%edx
409c06:	8b 7d e0             	mov    -0x20(%ebp),%edi
409c09:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409c10:	33 f6                	xor    %esi,%esi
409c12:	8b 07                	mov    (%edi),%eax
409c14:	6a 00                	push   $0x0
409c16:	8b 48 04             	mov    0x4(%eax),%ecx
409c19:	8b 44 39 0c          	mov    0xc(%ecx,%edi,1),%eax
409c1d:	03 cf                	add    %edi,%ecx
409c1f:	0b c3                	or     %ebx,%eax
409c21:	39 71 38             	cmp    %esi,0x38(%ecx)
409c24:	0f 45 d6             	cmovne %esi,%edx
409c27:	0b d0                	or     %eax,%edx
409c29:	52                   	push   %edx
409c2a:	e8 d1 c3 ff ff       	call   0x406000
409c2f:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
409c36:	e8 ef f6 00 00       	call   0x41932a
409c3b:	84 c0                	test   %al,%al
409c3d:	75 08                	jne    0x409c47
409c3f:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409c42:	e8 49 00 00 00       	call   0x409c90
409c47:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
409c4b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
409c4e:	8b 01                	mov    (%ecx),%eax
409c50:	8b 40 04             	mov    0x4(%eax),%eax
409c53:	8b 5c 08 38          	mov    0x38(%eax,%ecx,1),%ebx
409c57:	85 db                	test   %ebx,%ebx
409c59:	74 11                	je     0x409c6c
409c5b:	8b 13                	mov    (%ebx),%edx
409c5d:	8b 72 08             	mov    0x8(%edx),%esi
409c60:	8b ce                	mov    %esi,%ecx
409c62:	ff 15 5c e2 43 00    	call   *0x43e25c
409c68:	8b cb                	mov    %ebx,%ecx
409c6a:	ff d6                	call   *%esi
409c6c:	8b c7                	mov    %edi,%eax
409c6e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409c71:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409c78:	59                   	pop    %ecx
409c79:	5f                   	pop    %edi
409c7a:	5e                   	pop    %esi
409c7b:	5b                   	pop    %ebx
409c7c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409c7f:	33 cd                	xor    %ebp,%ecx
409c81:	e8 24 ff 00 00       	call   0x419baa
409c86:	8b e5                	mov    %ebp,%esp
409c88:	5d                   	pop    %ebp
409c89:	c3                   	ret
409c8a:	cc                   	int3
409c8b:	cc                   	int3
409c8c:	cc                   	int3
409c8d:	cc                   	int3
409c8e:	cc                   	int3
409c8f:	cc                   	int3
409c90:	55                   	push   %ebp
409c91:	8b ec                	mov    %esp,%ebp
409c93:	6a ff                	push   $0xffffffff
409c95:	68 50 c0 43 00       	push   $0x43c050
409c9a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409ca0:	50                   	push   %eax
409ca1:	51                   	push   %ecx
409ca2:	53                   	push   %ebx
409ca3:	56                   	push   %esi
409ca4:	57                   	push   %edi
409ca5:	a1 14 50 45 00       	mov    0x455014,%eax
409caa:	33 c5                	xor    %ebp,%eax
409cac:	50                   	push   %eax
409cad:	8d 45 f4             	lea    -0xc(%ebp),%eax
409cb0:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409cb6:	89 65 f0             	mov    %esp,-0x10(%ebp)
409cb9:	8b d9                	mov    %ecx,%ebx
409cbb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409cc2:	8b 03                	mov    (%ebx),%eax
409cc4:	8b 40 04             	mov    0x4(%eax),%eax
409cc7:	83 7c 18 0c 00       	cmpl   $0x0,0xc(%eax,%ebx,1)
409ccc:	75 37                	jne    0x409d05
409cce:	f6 44 18 14 02       	testb  $0x2,0x14(%eax,%ebx,1)
409cd3:	74 30                	je     0x409d05
409cd5:	8b 7c 18 38          	mov    0x38(%eax,%ebx,1),%edi
409cd9:	8b 07                	mov    (%edi),%eax
409cdb:	8b 70 34             	mov    0x34(%eax),%esi
409cde:	8b ce                	mov    %esi,%ecx
409ce0:	ff 15 5c e2 43 00    	call   *0x43e25c
409ce6:	8b cf                	mov    %edi,%ecx
409ce8:	ff d6                	call   *%esi
409cea:	83 f8 ff             	cmp    $0xffffffff,%eax
409ced:	75 16                	jne    0x409d05
409cef:	8b 03                	mov    (%ebx),%eax
409cf1:	6a 00                	push   $0x0
409cf3:	8b 48 04             	mov    0x4(%eax),%ecx
409cf6:	8b 44 19 0c          	mov    0xc(%ecx,%ebx,1),%eax
409cfa:	03 cb                	add    %ebx,%ecx
409cfc:	83 c8 04             	or     $0x4,%eax
409cff:	50                   	push   %eax
409d00:	e8 fb c2 ff ff       	call   0x406000
409d05:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409d08:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409d0f:	59                   	pop    %ecx
409d10:	5f                   	pop    %edi
409d11:	5e                   	pop    %esi
409d12:	5b                   	pop    %ebx
409d13:	8b e5                	mov    %ebp,%esp
409d15:	5d                   	pop    %ebp
409d16:	c3                   	ret
409d17:	b8 05 9d 40 00       	mov    $0x409d05,%eax
409d1c:	c3                   	ret
409d1d:	cc                   	int3
409d1e:	cc                   	int3
409d1f:	cc                   	int3
409d20:	cc                   	int3
409d21:	cc                   	int3
409d22:	cc                   	int3
409d23:	cc                   	int3
409d24:	cc                   	int3
409d25:	cc                   	int3
409d26:	cc                   	int3
409d27:	cc                   	int3
409d28:	cc                   	int3
409d29:	cc                   	int3
409d2a:	cc                   	int3
409d2b:	cc                   	int3
409d2c:	cc                   	int3
409d2d:	cc                   	int3
409d2e:	cc                   	int3
409d2f:	cc                   	int3
409d30:	55                   	push   %ebp
409d31:	8b ec                	mov    %esp,%ebp
409d33:	6a ff                	push   $0xffffffff
409d35:	68 7d c0 43 00       	push   $0x43c07d
409d3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409d40:	50                   	push   %eax
409d41:	83 ec 0c             	sub    $0xc,%esp
409d44:	53                   	push   %ebx
409d45:	56                   	push   %esi
409d46:	57                   	push   %edi
409d47:	a1 14 50 45 00       	mov    0x455014,%eax
409d4c:	33 c5                	xor    %ebp,%eax
409d4e:	50                   	push   %eax
409d4f:	8d 45 f4             	lea    -0xc(%ebp),%eax
409d52:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409d58:	8b d9                	mov    %ecx,%ebx
409d5a:	e8 21 c3 ff ff       	call   0x406080
409d5f:	8b 45 08             	mov    0x8(%ebp),%eax
409d62:	89 43 38             	mov    %eax,0x38(%ebx)
409d65:	8b 43 30             	mov    0x30(%ebx),%eax
409d68:	c7 43 3c 00 00 00 00 	movl   $0x0,0x3c(%ebx)
409d6f:	8b 78 04             	mov    0x4(%eax),%edi
409d72:	89 7d ec             	mov    %edi,-0x14(%ebp)
409d75:	8b 07                	mov    (%edi),%eax
409d77:	8b 70 04             	mov    0x4(%eax),%esi
409d7a:	8b ce                	mov    %esi,%ecx
409d7c:	ff 15 5c e2 43 00    	call   *0x43e25c
409d82:	8b cf                	mov    %edi,%ecx
409d84:	ff d6                	call   *%esi
409d86:	8d 45 e8             	lea    -0x18(%ebp),%eax
409d89:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
409d90:	50                   	push   %eax
409d91:	e8 4a 07 00 00       	call   0x40a4e0
409d96:	8b f8                	mov    %eax,%edi
409d98:	83 c4 04             	add    $0x4,%esp
409d9b:	8b 0f                	mov    (%edi),%ecx
409d9d:	6a 20                	push   $0x20
409d9f:	8b 71 30             	mov    0x30(%ecx),%esi
409da2:	8b ce                	mov    %esi,%ecx
409da4:	ff 15 5c e2 43 00    	call   *0x43e25c
409daa:	8b cf                	mov    %edi,%ecx
409dac:	ff d6                	call   *%esi
409dae:	0f b7 f8             	movzwl %ax,%edi
409db1:	89 7d f0             	mov    %edi,-0x10(%ebp)
409db4:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
409dbb:	8b 7d ec             	mov    -0x14(%ebp),%edi
409dbe:	85 ff                	test   %edi,%edi
409dc0:	74 29                	je     0x409deb
409dc2:	8b 07                	mov    (%edi),%eax
409dc4:	8b 70 08             	mov    0x8(%eax),%esi
409dc7:	8b ce                	mov    %esi,%ecx
409dc9:	ff 15 5c e2 43 00    	call   *0x43e25c
409dcf:	8b cf                	mov    %edi,%ecx
409dd1:	ff d6                	call   *%esi
409dd3:	8b f8                	mov    %eax,%edi
409dd5:	85 ff                	test   %edi,%edi
409dd7:	74 12                	je     0x409deb
409dd9:	8b 0f                	mov    (%edi),%ecx
409ddb:	6a 01                	push   $0x1
409ddd:	8b 31                	mov    (%ecx),%esi
409ddf:	8b ce                	mov    %esi,%ecx
409de1:	ff 15 5c e2 43 00    	call   *0x43e25c
409de7:	8b cf                	mov    %edi,%ecx
409de9:	ff d6                	call   *%esi
409deb:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
409def:	8b 45 f0             	mov    -0x10(%ebp),%eax
409df2:	66 89 43 40          	mov    %ax,0x40(%ebx)
409df6:	75 10                	jne    0x409e08
409df8:	8b 43 0c             	mov    0xc(%ebx),%eax
409dfb:	8b cb                	mov    %ebx,%ecx
409dfd:	6a 00                	push   $0x0
409dff:	83 c8 04             	or     $0x4,%eax
409e02:	50                   	push   %eax
409e03:	e8 f8 c1 ff ff       	call   0x406000
409e08:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409e0b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409e12:	59                   	pop    %ecx
409e13:	5f                   	pop    %edi
409e14:	5e                   	pop    %esi
409e15:	5b                   	pop    %ebx
409e16:	8b e5                	mov    %ebp,%esp
409e18:	5d                   	pop    %ebp
409e19:	c2 08 00             	ret    $0x8
409e1c:	cc                   	int3
409e1d:	cc                   	int3
409e1e:	cc                   	int3
409e1f:	cc                   	int3
409e20:	55                   	push   %ebp
409e21:	8b ec                	mov    %esp,%ebp
409e23:	51                   	push   %ecx
409e24:	8b 55 08             	mov    0x8(%ebp),%edx
409e27:	56                   	push   %esi
409e28:	8b 71 10             	mov    0x10(%ecx),%esi
409e2b:	3b d6                	cmp    %esi,%edx
409e2d:	77 16                	ja     0x409e45
409e2f:	89 51 10             	mov    %edx,0x10(%ecx)
409e32:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
409e36:	72 02                	jb     0x409e3a
409e38:	8b 09                	mov    (%ecx),%ecx
409e3a:	c6 04 11 00          	movb   $0x0,(%ecx,%edx,1)
409e3e:	5e                   	pop    %esi
409e3f:	8b e5                	mov    %ebp,%esp
409e41:	5d                   	pop    %ebp
409e42:	c2 08 00             	ret    $0x8
409e45:	8b 41 14             	mov    0x14(%ecx),%eax
409e48:	57                   	push   %edi
409e49:	8b fa                	mov    %edx,%edi
409e4b:	2b c6                	sub    %esi,%eax
409e4d:	2b fe                	sub    %esi,%edi
409e4f:	3b f8                	cmp    %eax,%edi
409e51:	77 28                	ja     0x409e7b
409e53:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
409e57:	89 51 10             	mov    %edx,0x10(%ecx)
409e5a:	72 02                	jb     0x409e5e
409e5c:	8b 09                	mov    (%ecx),%ecx
409e5e:	0f be 45 0c          	movsbl 0xc(%ebp),%eax
409e62:	03 f1                	add    %ecx,%esi
409e64:	57                   	push   %edi
409e65:	50                   	push   %eax
409e66:	56                   	push   %esi
409e67:	e8 a4 1d 01 00       	call   0x41bc10
409e6c:	83 c4 0c             	add    $0xc,%esp
409e6f:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
409e73:	5f                   	pop    %edi
409e74:	5e                   	pop    %esi
409e75:	8b e5                	mov    %ebp,%esp
409e77:	5d                   	pop    %ebp
409e78:	c2 08 00             	ret    $0x8
409e7b:	ff 75 0c             	push   0xc(%ebp)
409e7e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
409e82:	57                   	push   %edi
409e83:	ff 75 fc             	push   -0x4(%ebp)
409e86:	57                   	push   %edi
409e87:	e8 24 09 00 00       	call   0x40a7b0
409e8c:	5f                   	pop    %edi
409e8d:	5e                   	pop    %esi
409e8e:	8b e5                	mov    %ebp,%esp
409e90:	5d                   	pop    %ebp
409e91:	c2 08 00             	ret    $0x8
409e94:	cc                   	int3
409e95:	cc                   	int3
409e96:	cc                   	int3
409e97:	cc                   	int3
409e98:	cc                   	int3
409e99:	cc                   	int3
409e9a:	cc                   	int3
409e9b:	cc                   	int3
409e9c:	cc                   	int3
409e9d:	cc                   	int3
409e9e:	cc                   	int3
409e9f:	cc                   	int3
409ea0:	55                   	push   %ebp
409ea1:	8b ec                	mov    %esp,%ebp
409ea3:	56                   	push   %esi
409ea4:	8b f1                	mov    %ecx,%esi
409ea6:	ff 76 08             	push   0x8(%esi)
409ea9:	c7 06 f4 f6 43 00    	movl   $0x43f6f4,(%esi)
409eaf:	e8 8f 9b 01 00       	call   0x423a43
409eb4:	ff 76 10             	push   0x10(%esi)
409eb7:	e8 87 9b 01 00       	call   0x423a43
409ebc:	ff 76 14             	push   0x14(%esi)
409ebf:	e8 7f 9b 01 00       	call   0x423a43
409ec4:	83 c4 0c             	add    $0xc,%esp
409ec7:	c7 06 2c e9 43 00    	movl   $0x43e92c,(%esi)
409ecd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
409ed1:	74 0b                	je     0x409ede
409ed3:	6a 18                	push   $0x18
409ed5:	56                   	push   %esi
409ed6:	e8 dd fc 00 00       	call   0x419bb8
409edb:	83 c4 08             	add    $0x8,%esp
409ede:	8b c6                	mov    %esi,%eax
409ee0:	5e                   	pop    %esi
409ee1:	5d                   	pop    %ebp
409ee2:	c2 04 00             	ret    $0x4
409ee5:	cc                   	int3
409ee6:	cc                   	int3
409ee7:	cc                   	int3
409ee8:	cc                   	int3
409ee9:	cc                   	int3
409eea:	cc                   	int3
409eeb:	cc                   	int3
409eec:	cc                   	int3
409eed:	cc                   	int3
409eee:	cc                   	int3
409eef:	cc                   	int3
409ef0:	55                   	push   %ebp
409ef1:	8b ec                	mov    %esp,%ebp
409ef3:	6a ff                	push   $0xffffffff
409ef5:	68 bd c0 43 00       	push   $0x43c0bd
409efa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409f00:	50                   	push   %eax
409f01:	83 ec 28             	sub    $0x28,%esp
409f04:	53                   	push   %ebx
409f05:	56                   	push   %esi
409f06:	57                   	push   %edi
409f07:	a1 14 50 45 00       	mov    0x455014,%eax
409f0c:	33 c5                	xor    %ebp,%eax
409f0e:	50                   	push   %eax
409f0f:	8d 45 f4             	lea    -0xc(%ebp),%eax
409f12:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409f18:	89 65 f0             	mov    %esp,-0x10(%ebp)
409f1b:	89 55 dc             	mov    %edx,-0x24(%ebp)
409f1e:	8b d9                	mov    %ecx,%ebx
409f20:	89 5d d8             	mov    %ebx,-0x28(%ebp)
409f23:	8b 03                	mov    (%ebx),%eax
409f25:	33 f6                	xor    %esi,%esi
409f27:	89 75 d4             	mov    %esi,-0x2c(%ebp)
409f2a:	c6 45 ef 00          	movb   $0x0,-0x11(%ebp)
409f2e:	89 5d cc             	mov    %ebx,-0x34(%ebp)
409f31:	8b 40 04             	mov    0x4(%eax),%eax