4099df:	57                   	push   %edi
4099e0:	ff 15 80 11 43 00    	call   *0x431180
4099e6:	8b 75 08             	mov    0x8(%ebp),%esi
4099e9:	83 3e 00             	cmpl   $0x0,(%esi)
4099ec:	75 0c                	jne    0x4099fa
4099ee:	83 0e ff             	orl    $0xffffffff,(%esi)
4099f1:	eb 26                	jmp    0x409a19
4099f3:	e8 2c 00 00 00       	call   0x409a24
4099f8:	eb ef                	jmp    0x4099e9
4099fa:	83 3e ff             	cmpl   $0xffffffff,(%esi)
4099fd:	74 f4                	je     0x4099f3
4099ff:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
409a05:	8b 0d 78 f2 43 00    	mov    0x43f278,%ecx
409a0b:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
409a0e:	a1 70 d0 43 00       	mov    0x43d070,%eax
409a13:	89 81 04 00 00 00    	mov    %eax,0x4(%ecx)
409a19:	57                   	push   %edi
409a1a:	ff 15 7c 11 43 00    	call   *0x43117c
409a20:	5f                   	pop    %edi
409a21:	5e                   	pop    %esi
409a22:	5d                   	pop    %ebp
409a23:	c3                   	ret
409a24:	6a 00                	push   $0x0
409a26:	6a ff                	push   $0xffffffff
409a28:	68 74 f2 43 00       	push   $0x43f274
409a2d:	68 70 f2 43 00       	push   $0x43f270
409a32:	ff 15 88 11 43 00    	call   *0x431188
409a38:	c3                   	ret
409a39:	55                   	push   %ebp
409a3a:	8b ec                	mov    %esp,%ebp
409a3c:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
409a40:	56                   	push   %esi
409a41:	8b f1                	mov    %ecx,%esi
409a43:	c7 06 fc 17 43 00    	movl   $0x4317fc,(%esi)
409a49:	74 0a                	je     0x409a55
409a4b:	6a 0c                	push   $0xc
409a4d:	56                   	push   %esi
409a4e:	e8 9d cf ff ff       	call   0x4069f0
409a53:	59                   	pop    %ecx
409a54:	59                   	pop    %ecx
409a55:	8b c6                	mov    %esi,%eax
409a57:	5e                   	pop    %esi
409a58:	5d                   	pop    %ebp
409a59:	c2 04 00             	ret    $0x4
409a5c:	56                   	push   %esi
409a5d:	6a 02                	push   $0x2
409a5f:	e8 f3 fa 00 00       	call   0x419557
409a64:	e8 ab 07 00 00       	call   0x40a214
409a69:	50                   	push   %eax
409a6a:	e8 a0 06 01 00       	call   0x41a10f
409a6f:	e8 76 bf ff ff       	call   0x4059ea
409a74:	8b f0                	mov    %eax,%esi
409a76:	e8 f6 1e 01 00       	call   0x41b971
409a7b:	6a 01                	push   $0x1
409a7d:	89 30                	mov    %esi,(%eax)
409a7f:	e8 de 02 00 00       	call   0x409d62
409a84:	83 c4 0c             	add    $0xc,%esp
409a87:	5e                   	pop    %esi
409a88:	84 c0                	test   %al,%al
409a8a:	74 73                	je     0x409aff
409a8c:	db e2                	fnclex
409a8e:	e8 df 09 00 00       	call   0x40a472
409a93:	68 9e a4 40 00       	push   $0x40a49e
409a98:	e8 53 04 00 00       	call   0x409ef0
409a9d:	e8 03 a2 ff ff       	call   0x403ca5
409aa2:	50                   	push   %eax
409aa3:	e8 35 fe 00 00       	call   0x4198dd
409aa8:	59                   	pop    %ecx
409aa9:	59                   	pop    %ecx
409aaa:	85 c0                	test   %eax,%eax
409aac:	75 51                	jne    0x409aff
409aae:	e8 67 07 00 00       	call   0x40a21a
409ab3:	e8 ac 07 00 00       	call   0x40a264
409ab8:	85 c0                	test   %eax,%eax
409aba:	74 0b                	je     0x409ac7
409abc:	68 ea 59 40 00       	push   $0x4059ea
409ac1:	e8 02 fb 00 00       	call   0x4195c8
409ac6:	59                   	pop    %ecx
409ac7:	e8 b1 9f ff ff       	call   0x403a7d
409acc:	e8 ac 9f ff ff       	call   0x403a7d
409ad1:	e8 50 07 00 00       	call   0x40a226
409ad6:	e8 0f bf ff ff       	call   0x4059ea
409adb:	50                   	push   %eax
409adc:	e8 d4 0c 01 00       	call   0x41a7b5
409ae1:	59                   	pop    %ecx
409ae2:	e8 b5 c2 ff ff       	call   0x405d9c
409ae7:	84 c0                	test   %al,%al
409ae9:	74 05                	je     0x409af0
409aeb:	e8 0f 02 01 00       	call   0x419cff
409af0:	e8 f5 be ff ff       	call   0x4059ea
409af5:	e8 c7 08 00 00       	call   0x40a3c1
409afa:	85 c0                	test   %eax,%eax
409afc:	75 01                	jne    0x409aff
409afe:	c3                   	ret
409aff:	6a 07                	push   $0x7
409b01:	e8 76 07 00 00       	call   0x40a27c
409b06:	cc                   	int3
409b07:	e8 3b 07 00 00       	call   0x40a247
409b0c:	33 c0                	xor    %eax,%eax
409b0e:	c3                   	ret
409b0f:	e8 f4 08 00 00       	call   0x40a408
409b14:	e8 d1 be ff ff       	call   0x4059ea
409b19:	50                   	push   %eax
409b1a:	e8 23 1e 01 00       	call   0x41b942
409b1f:	59                   	pop    %ecx
409b20:	c3                   	ret
409b21:	6a 14                	push   $0x14
409b23:	68 98 a9 43 00       	push   $0x43a998
409b28:	e8 a3 09 00 00       	call   0x40a4d0
409b2d:	6a 01                	push   $0x1
409b2f:	e8 f5 01 00 00       	call   0x409d29
409b34:	59                   	pop    %ecx
409b35:	84 c0                	test   %al,%al
409b37:	0f 84 4a 01 00 00    	je     0x409c87
409b3d:	32 db                	xor    %bl,%bl
409b3f:	88 5d e7             	mov    %bl,-0x19(%ebp)
409b42:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409b46:	e8 ac 01 00 00       	call   0x409cf7
409b4b:	88 45 dc             	mov    %al,-0x24(%ebp)
409b4e:	a1 7c f2 43 00       	mov    0x43f27c,%eax
409b53:	33 c9                	xor    %ecx,%ecx
409b55:	41                   	inc    %ecx
409b56:	3b c1                	cmp    %ecx,%eax
409b58:	0f 84 29 01 00 00    	je     0x409c87
409b5e:	85 c0                	test   %eax,%eax
409b60:	75 49                	jne    0x409bab
409b62:	89 0d 7c f2 43 00    	mov    %ecx,0x43f27c
409b68:	68 c0 12 43 00       	push   $0x4312c0
409b6d:	68 a0 12 43 00       	push   $0x4312a0
409b72:	e8 0b 02 01 00       	call   0x419d82
409b77:	59                   	pop    %ecx
409b78:	59                   	pop    %ecx
409b79:	85 c0                	test   %eax,%eax
409b7b:	74 11                	je     0x409b8e
409b7d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409b84:	b8 ff 00 00 00       	mov    $0xff,%eax
409b89:	e9 e9 00 00 00       	jmp    0x409c77
409b8e:	68 9c 12 43 00       	push   $0x43129c
409b93:	68 70 12 43 00       	push   $0x431270
409b98:	e8 ba 01 01 00       	call   0x419d57
409b9d:	59                   	pop    %ecx
409b9e:	59                   	pop    %ecx
409b9f:	c7 05 7c f2 43 00 02 	movl   $0x2,0x43f27c
409ba6:	00 00 00
409ba9:	eb 05                	jmp    0x409bb0
409bab:	8a d9                	mov    %cl,%bl
409bad:	88 5d e7             	mov    %bl,-0x19(%ebp)
409bb0:	ff 75 dc             	push   -0x24(%ebp)
409bb3:	e8 c5 02 00 00       	call   0x409e7d
409bb8:	59                   	pop    %ecx
409bb9:	e8 b2 06 00 00       	call   0x40a270
409bbe:	8b f0                	mov    %eax,%esi
409bc0:	33 ff                	xor    %edi,%edi
409bc2:	39 3e                	cmp    %edi,(%esi)
409bc4:	74 1b                	je     0x409be1
409bc6:	56                   	push   %esi
409bc7:	e8 1d 02 00 00       	call   0x409de9
409bcc:	59                   	pop    %ecx
409bcd:	84 c0                	test   %al,%al
409bcf:	74 10                	je     0x409be1
409bd1:	8b 36                	mov    (%esi),%esi
409bd3:	57                   	push   %edi
409bd4:	6a 02                	push   $0x2
409bd6:	57                   	push   %edi
409bd7:	8b ce                	mov    %esi,%ecx
409bd9:	ff 15 68 12 43 00    	call   *0x431268
409bdf:	ff d6                	call   *%esi
409be1:	e8 90 06 00 00       	call   0x40a276
409be6:	8b f0                	mov    %eax,%esi
409be8:	39 3e                	cmp    %edi,(%esi)
409bea:	74 13                	je     0x409bff
409bec:	56                   	push   %esi
409bed:	e8 f7 01 00 00       	call   0x409de9
409bf2:	59                   	pop    %ecx
409bf3:	84 c0                	test   %al,%al
409bf5:	74 08                	je     0x409bff
409bf7:	ff 36                	push   (%esi)
409bf9:	e8 a8 04 01 00       	call   0x41a0a6
409bfe:	59                   	pop    %ecx
409bff:	e8 8d 07 00 00       	call   0x40a391
409c04:	0f b7 f0             	movzwl %ax,%esi
409c07:	e8 f8 00 01 00       	call   0x419d04
409c0c:	56                   	push   %esi
409c0d:	50                   	push   %eax
409c0e:	57                   	push   %edi
409c0f:	68 00 00 40 00       	push   $0x400000
409c14:	e8 27 ee ff ff       	call   0x408a40
409c19:	8b f0                	mov    %eax,%esi
409c1b:	e8 a6 07 00 00       	call   0x40a3c6
409c20:	84 c0                	test   %al,%al
409c22:	74 6a                	je     0x409c8e
409c24:	84 db                	test   %bl,%bl
409c26:	75 05                	jne    0x409c2d
409c28:	e8 54 04 01 00       	call   0x41a081
409c2d:	57                   	push   %edi
409c2e:	6a 01                	push   $0x1
409c30:	e8 65 02 00 00       	call   0x409e9a
409c35:	59                   	pop    %ecx
409c36:	59                   	pop    %ecx
409c37:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409c3e:	8b c6                	mov    %esi,%eax
409c40:	eb 35                	jmp    0x409c77
409c42:	8b 4d ec             	mov    -0x14(%ebp),%ecx
409c45:	8b 01                	mov    (%ecx),%eax
409c47:	8b 00                	mov    (%eax),%eax
409c49:	89 45 e0             	mov    %eax,-0x20(%ebp)
409c4c:	51                   	push   %ecx
409c4d:	50                   	push   %eax
409c4e:	e8 b8 f7 00 00       	call   0x41940b
409c53:	59                   	pop    %ecx
409c54:	59                   	pop    %ecx
409c55:	c3                   	ret
409c56:	8b 65 e8             	mov    -0x18(%ebp),%esp
409c59:	e8 68 07 00 00       	call   0x40a3c6
409c5e:	84 c0                	test   %al,%al
409c60:	74 32                	je     0x409c94
409c62:	80 7d e7 00          	cmpb   $0x0,-0x19(%ebp)
409c66:	75 05                	jne    0x409c6d
409c68:	e8 05 04 01 00       	call   0x41a072
409c6d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409c74:	8b 45 e0             	mov    -0x20(%ebp),%eax
409c77:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409c7a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409c81:	59                   	pop    %ecx
409c82:	5f                   	pop    %edi
409c83:	5e                   	pop    %esi
409c84:	5b                   	pop    %ebx
409c85:	c9                   	leave
409c86:	c3                   	ret
409c87:	6a 07                	push   $0x7
409c89:	e8 ee 05 00 00       	call   0x40a27c
409c8e:	56                   	push   %esi
409c8f:	e8 38 04 01 00       	call   0x41a0cc
409c94:	ff 75 e0             	push   -0x20(%ebp)
409c97:	e8 f4 03 01 00       	call   0x41a090
409c9c:	cc                   	int3
409c9d:	e8 27 05 00 00       	call   0x40a1c9
409ca2:	e9 7a fe ff ff       	jmp    0x409b21
409ca7:	3b 0d c0 d0 43 00    	cmp    0x43d0c0,%ecx
409cad:	75 01                	jne    0x409cb0
409caf:	c3                   	ret
409cb0:	e9 88 08 00 00       	jmp    0x40a53d
409cb5:	55                   	push   %ebp
409cb6:	8b ec                	mov    %esp,%ebp
409cb8:	8b 45 08             	mov    0x8(%ebp),%eax
409cbb:	56                   	push   %esi
409cbc:	8b 48 3c             	mov    0x3c(%eax),%ecx
409cbf:	03 c8                	add    %eax,%ecx
409cc1:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
409cc5:	8d 51 18             	lea    0x18(%ecx),%edx
409cc8:	03 d0                	add    %eax,%edx
409cca:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
409cce:	6b f0 28             	imul   $0x28,%eax,%esi
409cd1:	03 f2                	add    %edx,%esi
409cd3:	eb 15                	jmp    0x409cea
409cd5:	8b 4a 0c             	mov    0xc(%edx),%ecx
409cd8:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
409cdb:	72 0a                	jb     0x409ce7
409cdd:	8b 42 08             	mov    0x8(%edx),%eax
409ce0:	03 c1                	add    %ecx,%eax
409ce2:	39 45 0c             	cmp    %eax,0xc(%ebp)
409ce5:	72 0c                	jb     0x409cf3
409ce7:	83 c2 28             	add    $0x28,%edx
409cea:	3b d6                	cmp    %esi,%edx
409cec:	75 e7                	jne    0x409cd5
409cee:	33 c0                	xor    %eax,%eax
409cf0:	5e                   	pop    %esi
409cf1:	5d                   	pop    %ebp
409cf2:	c3                   	ret
409cf3:	8b c2                	mov    %edx,%eax
409cf5:	eb f9                	jmp    0x409cf0
409cf7:	56                   	push   %esi
409cf8:	e8 45 0d 00 00       	call   0x40aa42
409cfd:	85 c0                	test   %eax,%eax
409cff:	74 20                	je     0x409d21
409d01:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
409d07:	be 80 f2 43 00       	mov    $0x43f280,%esi
409d0c:	8b 50 04             	mov    0x4(%eax),%edx
409d0f:	eb 04                	jmp    0x409d15
409d11:	3b d0                	cmp    %eax,%edx
409d13:	74 10                	je     0x409d25
409d15:	33 c0                	xor    %eax,%eax
409d17:	8b ca                	mov    %edx,%ecx
409d19:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
409d1d:	85 c0                	test   %eax,%eax
409d1f:	75 f0                	jne    0x409d11
409d21:	32 c0                	xor    %al,%al
409d23:	5e                   	pop    %esi
409d24:	c3                   	ret
409d25:	b0 01                	mov    $0x1,%al
409d27:	5e                   	pop    %esi
409d28:	c3                   	ret
409d29:	55                   	push   %ebp
409d2a:	8b ec                	mov    %esp,%ebp
409d2c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
409d30:	75 07                	jne    0x409d39
409d32:	c6 05 84 f2 43 00 01 	movb   $0x1,0x43f284
409d39:	e8 d7 09 00 00       	call   0x40a715
409d3e:	e8 0b 1e 00 00       	call   0x40bb4e
409d43:	84 c0                	test   %al,%al
409d45:	75 04                	jne    0x409d4b
409d47:	32 c0                	xor    %al,%al
409d49:	5d                   	pop    %ebp
409d4a:	c3                   	ret
409d4b:	e8 64 20 01 00       	call   0x41bdb4
409d50:	84 c0                	test   %al,%al
409d52:	75 0a                	jne    0x409d5e
409d54:	6a 00                	push   $0x0
409d56:	e8 12 1e 00 00       	call   0x40bb6d
409d5b:	59                   	pop    %ecx
409d5c:	eb e9                	jmp    0x409d47
409d5e:	b0 01                	mov    $0x1,%al
409d60:	5d                   	pop    %ebp
409d61:	c3                   	ret
409d62:	55                   	push   %ebp
409d63:	8b ec                	mov    %esp,%ebp
409d65:	80 3d 85 f2 43 00 00 	cmpb   $0x0,0x43f285
409d6c:	74 04                	je     0x409d72
409d6e:	b0 01                	mov    $0x1,%al
409d70:	5d                   	pop    %ebp
409d71:	c3                   	ret
409d72:	56                   	push   %esi
409d73:	8b 75 08             	mov    0x8(%ebp),%esi
409d76:	85 f6                	test   %esi,%esi
409d78:	74 05                	je     0x409d7f
409d7a:	83 fe 01             	cmp    $0x1,%esi
409d7d:	75 62                	jne    0x409de1
409d7f:	e8 be 0c 00 00       	call   0x40aa42
409d84:	85 c0                	test   %eax,%eax
409d86:	74 26                	je     0x409dae
409d88:	85 f6                	test   %esi,%esi
409d8a:	75 22                	jne    0x409dae
409d8c:	68 88 f2 43 00       	push   $0x43f288
409d91:	e8 c7 1e 01 00       	call   0x41bc5d
409d96:	59                   	pop    %ecx
409d97:	85 c0                	test   %eax,%eax
409d99:	75 0f                	jne    0x409daa
409d9b:	68 94 f2 43 00       	push   $0x43f294
409da0:	e8 b8 1e 01 00       	call   0x41bc5d
409da5:	59                   	pop    %ecx
409da6:	85 c0                	test   %eax,%eax
409da8:	74 2b                	je     0x409dd5
409daa:	32 c0                	xor    %al,%al
409dac:	eb 30                	jmp    0x409dde
409dae:	83 c9 ff             	or     $0xffffffff,%ecx
409db1:	89 0d 88 f2 43 00    	mov    %ecx,0x43f288
409db7:	89 0d 8c f2 43 00    	mov    %ecx,0x43f28c
409dbd:	89 0d 90 f2 43 00    	mov    %ecx,0x43f290
409dc3:	89 0d 94 f2 43 00    	mov    %ecx,0x43f294
409dc9:	89 0d 98 f2 43 00    	mov    %ecx,0x43f298