406aa0:	e8 2e 4c 01 00       	call   0x41b6d3
406aa5:	59                   	pop    %ecx
406aa6:	c3                   	ret
406aa7:	cc                   	int3
406aa8:	cc                   	int3
406aa9:	cc                   	int3
406aaa:	cc                   	int3
406aab:	cc                   	int3
406aac:	cc                   	int3
406aad:	cc                   	int3
406aae:	cc                   	int3
406aaf:	cc                   	int3
406ab0:	8b ff                	mov    %edi,%edi
406ab2:	51                   	push   %ecx
406ab3:	e8 9c 6c 00 00       	call   0x40d754
406ab8:	68 60 e2 41 00       	push   $0x41e260
406abd:	e8 11 4c 01 00       	call   0x41b6d3
406ac2:	59                   	pop    %ecx
406ac3:	c3                   	ret
406ac4:	cc                   	int3
406ac5:	cc                   	int3
406ac6:	cc                   	int3
406ac7:	cc                   	int3
406ac8:	cc                   	int3
406ac9:	cc                   	int3
406aca:	cc                   	int3
406acb:	cc                   	int3
406acc:	cc                   	int3
406acd:	cc                   	int3
406ace:	cc                   	int3
406acf:	cc                   	int3
406ad0:	68 00 06 00 00       	push   $0x600
406ad5:	6a 00                	push   $0x0
406ad7:	e8 21 52 01 00       	call   0x41bcfd
406adc:	a2 f0 09 42 00       	mov    %al,0x4209f0
406ae1:	c3                   	ret
406ae2:	cc                   	int3
406ae3:	cc                   	int3
406ae4:	cc                   	int3
406ae5:	cc                   	int3
406ae6:	cc                   	int3
406ae7:	cc                   	int3
406ae8:	cc                   	int3
406ae9:	cc                   	int3
406aea:	cc                   	int3
406aeb:	cc                   	int3
406aec:	cc                   	int3
406aed:	cc                   	int3
406aee:	cc                   	int3
406aef:	cc                   	int3
406af0:	a1 30 32 42 00       	mov    0x423230,%eax
406af5:	c3                   	ret
406af6:	cc                   	int3
406af7:	cc                   	int3
406af8:	cc                   	int3
406af9:	cc                   	int3
406afa:	cc                   	int3
406afb:	cc                   	int3
406afc:	cc                   	int3
406afd:	cc                   	int3
406afe:	cc                   	int3
406aff:	cc                   	int3
406b00:	b8 e4 10 40 00       	mov    $0x4010e4,%eax
406b05:	c3                   	ret
406b06:	cc                   	int3
406b07:	cc                   	int3
406b08:	cc                   	int3
406b09:	cc                   	int3
406b0a:	cc                   	int3
406b0b:	cc                   	int3
406b0c:	cc                   	int3
406b0d:	cc                   	int3
406b0e:	cc                   	int3
406b0f:	cc                   	int3
406b10:	8b ff                	mov    %edi,%edi
406b12:	55                   	push   %ebp
406b13:	8b ec                	mov    %esp,%ebp
406b15:	56                   	push   %esi
406b16:	8b f1                	mov    %ecx,%esi
406b18:	e8 14 00 00 00       	call   0x406b31
406b1d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
406b21:	74 07                	je     0x406b2a
406b23:	56                   	push   %esi
406b24:	e8 7a 47 01 00       	call   0x41b2a3
406b29:	59                   	pop    %ecx
406b2a:	8b c6                	mov    %esi,%eax
406b2c:	5e                   	pop    %esi
406b2d:	5d                   	pop    %ebp
406b2e:	c2 04 00             	ret    $0x4
406b31:	8b ff                	mov    %edi,%edi
406b33:	55                   	push   %ebp
406b34:	8b ec                	mov    %esp,%ebp
406b36:	6a ff                	push   $0xffffffff
406b38:	68 39 c6 41 00       	push   $0x41c639
406b3d:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406b43:	50                   	push   %eax
406b44:	51                   	push   %ecx
406b45:	56                   	push   %esi
406b46:	a1 e4 05 42 00       	mov    0x4205e4,%eax
406b4b:	33 c5                	xor    %ebp,%eax
406b4d:	50                   	push   %eax
406b4e:	8d 45 f4             	lea    -0xc(%ebp),%eax
406b51:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406b57:	8b f1                	mov    %ecx,%esi
406b59:	89 75 f0             	mov    %esi,-0x10(%ebp)
406b5c:	c7 06 10 10 40 00    	movl   $0x401010,(%esi)
406b62:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406b66:	6a 01                	push   $0x1
406b68:	e8 7f 58 01 00       	call   0x41c3ec
406b6d:	50                   	push   %eax
406b6e:	ff 15 7c 35 42 00    	call   *0x42357c
406b74:	6a 02                	push   $0x2
406b76:	e8 71 58 01 00       	call   0x41c3ec
406b7b:	50                   	push   %eax
406b7c:	ff 15 7c 35 42 00    	call   *0x42357c
406b82:	83 c4 10             	add    $0x10,%esp
406b85:	ff 35 04 0a 42 00    	push   0x420a04
406b8b:	ff 15 90 30 42 00    	call   *0x423090
406b91:	50                   	push   %eax
406b92:	ff 15 94 30 42 00    	call   *0x423094
406b98:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406b9c:	8b ce                	mov    %esi,%ecx
406b9e:	ff 15 3c 32 42 00    	call   *0x42323c
406ba4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406ba7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406bae:	59                   	pop    %ecx
406baf:	5e                   	pop    %esi
406bb0:	c9                   	leave
406bb1:	c3                   	ret
406bb2:	cc                   	int3
406bb3:	cc                   	int3
406bb4:	cc                   	int3
406bb5:	cc                   	int3
406bb6:	cc                   	int3
406bb7:	cc                   	int3
406bb8:	cc                   	int3
406bb9:	cc                   	int3
406bba:	cc                   	int3
406bbb:	cc                   	int3
406bbc:	cc                   	int3
406bbd:	cc                   	int3
406bbe:	cc                   	int3
406bbf:	cc                   	int3
406bc0:	6a 0c                	push   $0xc
406bc2:	b8 8b c6 41 00       	mov    $0x41c68b,%eax
406bc7:	e8 6c 58 01 00       	call   0x41c438
406bcc:	89 4d e8             	mov    %ecx,-0x18(%ebp)
406bcf:	33 ff                	xor    %edi,%edi
406bd1:	33 f6                	xor    %esi,%esi
406bd3:	57                   	push   %edi
406bd4:	57                   	push   %edi
406bd5:	46                   	inc    %esi
406bd6:	56                   	push   %esi
406bd7:	57                   	push   %edi
406bd8:	ff 15 8c 30 42 00    	call   *0x42308c
406bde:	89 3d 04 0a 42 00    	mov    %edi,0x420a04
406be4:	e8 de 75 00 00       	call   0x40e1c7
406be9:	3b c6                	cmp    %esi,%eax
406beb:	74 0b                	je     0x406bf8
406bed:	89 35 04 0a 42 00    	mov    %esi,0x420a04
406bf3:	e9 2d 01 00 00       	jmp    0x406d25
406bf8:	a1 78 35 42 00       	mov    0x423578,%eax
406bfd:	8b de                	mov    %esi,%ebx
406bff:	89 3d 38 1f 42 00    	mov    %edi,0x421f38
406c05:	89 3d 30 1f 42 00    	mov    %edi,0x421f30
406c0b:	8b 08                	mov    (%eax),%ecx
406c0d:	a1 74 35 42 00       	mov    0x423574,%eax
406c12:	89 4d ec             	mov    %ecx,-0x14(%ebp)
406c15:	8b 00                	mov    (%eax),%eax
406c17:	3b c6                	cmp    %esi,%eax
406c19:	0f 8e 92 00 00 00    	jle    0x406cb1
406c1f:	8b f8                	mov    %eax,%edi
406c21:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
406c24:	ba a0 14 42 00       	mov    $0x4214a0,%edx
406c29:	e8 ab 0e 00 00       	call   0x407ad9
406c2e:	85 c0                	test   %eax,%eax
406c30:	74 0d                	je     0x406c3f
406c32:	a1 30 1f 42 00       	mov    0x421f30,%eax
406c37:	89 35 38 1f 42 00    	mov    %esi,0x421f38
406c3d:	eb 07                	jmp    0x406c46
406c3f:	8b c6                	mov    %esi,%eax
406c41:	a3 30 1f 42 00       	mov    %eax,0x421f30
406c46:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406c49:	43                   	inc    %ebx
406c4a:	3b df                	cmp    %edi,%ebx
406c4c:	7c d3                	jl     0x406c21
406c4e:	6a 00                	push   $0x0
406c50:	5f                   	pop    %edi
406c51:	85 c0                	test   %eax,%eax
406c53:	74 5c                	je     0x406cb1
406c55:	68 b4 43 40 00       	push   $0x4043b4
406c5a:	57                   	push   %edi
406c5b:	ff 15 70 35 42 00    	call   *0x423570
406c61:	59                   	pop    %ecx
406c62:	59                   	pop    %ecx
406c63:	ff 15 c8 30 42 00    	call   *0x4230c8
406c69:	50                   	push   %eax
406c6a:	68 c0 43 40 00       	push   $0x4043c0
406c6f:	6a 20                	push   $0x20
406c71:	be 50 21 42 00       	mov    $0x422150,%esi
406c76:	56                   	push   %esi
406c77:	e8 c7 00 00 00       	call   0x406d43
406c7c:	56                   	push   %esi
406c7d:	6a 02                	push   $0x2
406c7f:	ff 15 70 35 42 00    	call   *0x423570
406c85:	83 c4 18             	add    $0x18,%esp
406c88:	57                   	push   %edi
406c89:	57                   	push   %edi
406c8a:	68 00 01 00 00       	push   $0x100
406c8f:	ff 15 84 30 42 00    	call   *0x423084
406c95:	8b 15 78 35 42 00    	mov    0x423578,%edx
406c9b:	8b 0d 74 35 42 00    	mov    0x423574,%ecx
406ca1:	8b 12                	mov    (%edx),%edx
406ca3:	8b 09                	mov    (%ecx),%ecx
406ca5:	e8 2f 09 00 00       	call   0x4075d9
406caa:	8b f0                	mov    %eax,%esi
406cac:	e9 3c ff ff ff       	jmp    0x406bed
406cb1:	ff 15 80 30 42 00    	call   *0x423080
406cb7:	57                   	push   %edi
406cb8:	ff 15 48 32 42 00    	call   *0x423248
406cbe:	59                   	pop    %ecx
406cbf:	6a 0f                	push   $0xf
406cc1:	ff 15 90 34 42 00    	call   *0x423490
406cc7:	68 e4 12 00 00       	push   $0x12e4
406ccc:	e8 d7 45 01 00       	call   0x41b2a8
406cd1:	59                   	pop    %ecx
406cd2:	89 45 ec             	mov    %eax,-0x14(%ebp)
406cd5:	89 7d fc             	mov    %edi,-0x4(%ebp)
406cd8:	85 c0                	test   %eax,%eax
406cda:	74 09                	je     0x406ce5
406cdc:	8b c8                	mov    %eax,%ecx
406cde:	e8 aa 16 01 00       	call   0x41838d
406ce3:	8b f8                	mov    %eax,%edi
406ce5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406ce9:	89 3d 00 0a 42 00    	mov    %edi,0x420a00
406cef:	85 ff                	test   %edi,%edi
406cf1:	74 2c                	je     0x406d1f
406cf3:	8b 45 e8             	mov    -0x18(%ebp),%eax
406cf6:	89 78 20             	mov    %edi,0x20(%eax)
406cf9:	8b 07                	mov    (%edi),%eax
406cfb:	8b b0 c0 00 00 00    	mov    0xc0(%eax),%esi
406d01:	8b ce                	mov    %esi,%ecx
406d03:	ff 15 f0 35 42 00    	call   *0x4235f0
406d09:	8b cf                	mov    %edi,%ecx
406d0b:	ff d6                	call   *%esi
406d0d:	8b 35 f8 09 42 00    	mov    0x4209f8,%esi
406d13:	f7 de                	neg    %esi
406d15:	1b f6                	sbb    %esi,%esi
406d17:	83 e6 02             	and    $0x2,%esi
406d1a:	e9 ce fe ff ff       	jmp    0x406bed
406d1f:	8b 35 04 0a 42 00    	mov    0x420a04,%esi
406d25:	56                   	push   %esi
406d26:	ff 15 68 35 42 00    	call   *0x423568
406d2c:	cc                   	int3
406d2d:	cc                   	int3
406d2e:	cc                   	int3
406d2f:	cc                   	int3
406d30:	c2 04 00             	ret    $0x4
406d33:	cc                   	int3
406d34:	cc                   	int3
406d35:	cc                   	int3
406d36:	cc                   	int3
406d37:	cc                   	int3
406d38:	cc                   	int3
406d39:	cc                   	int3
406d3a:	cc                   	int3
406d3b:	cc                   	int3
406d3c:	cc                   	int3
406d3d:	cc                   	int3
406d3e:	cc                   	int3
406d3f:	cc                   	int3
406d40:	c2 00 00             	ret    $0x0
406d43:	8b ff                	mov    %edi,%edi
406d45:	55                   	push   %ebp
406d46:	8b ec                	mov    %esp,%ebp
406d48:	8b 45 0c             	mov    0xc(%ebp),%eax
406d4b:	56                   	push   %esi
406d4c:	33 f6                	xor    %esi,%esi
406d4e:	85 c0                	test   %eax,%eax
406d50:	74 07                	je     0x406d59
406d52:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
406d57:	76 05                	jbe    0x406d5e
406d59:	be 57 00 07 80       	mov    $0x80070057,%esi
406d5e:	85 f6                	test   %esi,%esi
406d60:	78 37                	js     0x406d99
406d62:	53                   	push   %ebx
406d63:	8b 5d 08             	mov    0x8(%ebp),%ebx
406d66:	33 f6                	xor    %esi,%esi
406d68:	57                   	push   %edi
406d69:	8d 78 ff             	lea    -0x1(%eax),%edi
406d6c:	8d 45 14             	lea    0x14(%ebp),%eax
406d6f:	50                   	push   %eax
406d70:	ff 75 10             	push   0x10(%ebp)
406d73:	57                   	push   %edi
406d74:	53                   	push   %ebx
406d75:	ff 15 6c 35 42 00    	call   *0x42356c
406d7b:	83 c4 10             	add    $0x10,%esp
406d7e:	85 c0                	test   %eax,%eax
406d80:	78 08                	js     0x406d8a
406d82:	3b c7                	cmp    %edi,%eax
406d84:	77 04                	ja     0x406d8a
406d86:	75 0d                	jne    0x406d95
406d88:	eb 05                	jmp    0x406d8f
406d8a:	be 7a 00 07 80       	mov    $0x8007007a,%esi
406d8f:	33 c0                	xor    %eax,%eax
406d91:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
406d95:	5f                   	pop    %edi
406d96:	5b                   	pop    %ebx
406d97:	eb 0c                	jmp    0x406da5
406d99:	85 c0                	test   %eax,%eax
406d9b:	74 08                	je     0x406da5
406d9d:	8b 4d 08             	mov    0x8(%ebp),%ecx
406da0:	33 c0                	xor    %eax,%eax
406da2:	66 89 01             	mov    %ax,(%ecx)
406da5:	8b c6                	mov    %esi,%eax
406da7:	5e                   	pop    %esi
406da8:	5d                   	pop    %ebp
406da9:	c3                   	ret
406daa:	8b ff                	mov    %edi,%edi
406dac:	51                   	push   %ecx
406dad:	e8 f1 44 01 00       	call   0x41b2a3
406db2:	59                   	pop    %ecx
406db3:	c3                   	ret
406db4:	cc                   	int3
406db5:	cc                   	int3
406db6:	cc                   	int3
406db7:	cc                   	int3
406db8:	cc                   	int3
406db9:	cc                   	int3
406dba:	cc                   	int3
406dbb:	cc                   	int3
406dbc:	cc                   	int3
406dbd:	cc                   	int3
406dbe:	cc                   	int3
406dbf:	cc                   	int3
406dc0:	b8 5d 02 00 00       	mov    $0x25d,%eax
406dc5:	c3                   	ret
406dc6:	cc                   	int3
406dc7:	cc                   	int3
406dc8:	cc                   	int3
406dc9:	cc                   	int3
406dca:	cc                   	int3
406dcb:	cc                   	int3
406dcc:	cc                   	int3
406dcd:	cc                   	int3
406dce:	cc                   	int3
406dcf:	cc                   	int3
406dd0:	6a 04                	push   $0x4
406dd2:	b8 ae c6 41 00       	mov    $0x41c6ae,%eax
406dd7:	e8 5c 56 01 00       	call   0x41c438