405d07:	6a 00                	push   $0x0
405d09:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
405d0f:	51                   	push   %ecx
405d10:	50                   	push   %eax
405d11:	56                   	push   %esi
405d12:	ff 35 c0 eb 40 00    	push   0x40ebc0
405d18:	ff 15 54 f0 40 00    	call   *0x40f054
405d1e:	56                   	push   %esi
405d1f:	ff 15 68 f0 40 00    	call   *0x40f068
405d25:	ff b5 d4 fe ff ff    	push   -0x12c(%ebp)
405d2b:	ff 15 68 f0 40 00    	call   *0x40f068
405d31:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405d34:	5f                   	pop    %edi
405d35:	5e                   	pop    %esi
405d36:	33 cd                	xor    %ebp,%ecx
405d38:	5b                   	pop    %ebx
405d39:	e8 e2 02 00 00       	call   0x406020
405d3e:	8b e5                	mov    %ebp,%esp
405d40:	5d                   	pop    %ebp
405d41:	c2 08 00             	ret    $0x8
405d44:	cc                   	int3
405d45:	cc                   	int3
405d46:	cc                   	int3
405d47:	cc                   	int3
405d48:	cc                   	int3
405d49:	cc                   	int3
405d4a:	cc                   	int3
405d4b:	cc                   	int3
405d4c:	cc                   	int3
405d4d:	cc                   	int3
405d4e:	cc                   	int3
405d4f:	cc                   	int3
405d50:	e8 48 02 00 00       	call   0x405f9d
405d55:	6a 01                	push   $0x1
405d57:	a3 38 e0 40 00       	mov    %eax,0x40e038
405d5c:	e8 a7 05 00 00       	call   0x406308
405d61:	50                   	push   %eax
405d62:	ff 15 ec f0 40 00    	call   *0x40f0ec
405d68:	83 0d 90 e3 40 00 ff 	orl    $0xffffffff,0x40e390
405d6f:	83 0d 94 e3 40 00 ff 	orl    $0xffffffff,0x40e394
405d76:	59                   	pop    %ecx
405d77:	59                   	pop    %ecx
405d78:	ff 15 fc f0 40 00    	call   *0x40f0fc
405d7e:	8b 0d 68 e3 40 00    	mov    0x40e368,%ecx
405d84:	89 08                	mov    %ecx,(%eax)
405d86:	ff 15 cc f0 40 00    	call   *0x40f0cc
405d8c:	8b 0d 5c e3 40 00    	mov    0x40e35c,%ecx
405d92:	89 08                	mov    %ecx,(%eax)
405d94:	e8 b7 05 00 00       	call   0x406350
405d99:	83 3d 00 e0 40 00 00 	cmpl   $0x0,0x40e000
405da0:	75 0c                	jne    0x405dae
405da2:	68 50 63 40 00       	push   $0x406350
405da7:	ff 15 d8 f0 40 00    	call   *0x40f0d8
405dad:	59                   	pop    %ecx
405dae:	e8 8a 07 00 00       	call   0x40653d
405db3:	33 c0                	xor    %eax,%eax
405db5:	c3                   	ret
405db6:	cc                   	int3
405db7:	cc                   	int3
405db8:	cc                   	int3
405db9:	cc                   	int3
405dba:	cc                   	int3
405dbb:	cc                   	int3
405dbc:	cc                   	int3
405dbd:	cc                   	int3
405dbe:	cc                   	int3
405dbf:	cc                   	int3
405dc0:	a1 64 e3 40 00       	mov    0x40e364,%eax
405dc5:	68 3c e0 40 00       	push   $0x40e03c
405dca:	ff 35 60 e3 40 00    	push   0x40e360
405dd0:	a3 3c e0 40 00       	mov    %eax,0x40e03c
405dd5:	68 30 e0 40 00       	push   $0x40e030
405dda:	68 2c e0 40 00       	push   $0x40e02c
405ddf:	68 28 e0 40 00       	push   $0x40e028
405de4:	ff 15 f8 f0 40 00    	call   *0x40f0f8
405dea:	83 c4 14             	add    $0x14,%esp
405ded:	a3 34 e0 40 00       	mov    %eax,0x40e034
405df2:	c3                   	ret
405df3:	6a 0c                	push   $0xc
405df5:	68 18 ce 40 00       	push   $0x40ce18
405dfa:	e8 59 07 00 00       	call   0x406558
405dff:	33 db                	xor    %ebx,%ebx
405e01:	89 5d fc             	mov    %ebx,-0x4(%ebp)
405e04:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
405e0a:	8b 70 04             	mov    0x4(%eax),%esi
405e0d:	8b fb                	mov    %ebx,%edi
405e0f:	ba 98 e3 40 00       	mov    $0x40e398,%edx
405e14:	8b ce                	mov    %esi,%ecx
405e16:	33 c0                	xor    %eax,%eax
405e18:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
405e1c:	85 c0                	test   %eax,%eax
405e1e:	74 18                	je     0x405e38
405e20:	3b c6                	cmp    %esi,%eax
405e22:	75 07                	jne    0x405e2b
405e24:	33 f6                	xor    %esi,%esi
405e26:	46                   	inc    %esi
405e27:	8b fe                	mov    %esi,%edi
405e29:	eb 10                	jmp    0x405e3b
405e2b:	68 e8 03 00 00       	push   $0x3e8
405e30:	ff 15 b0 f0 40 00    	call   *0x40f0b0
405e36:	eb d7                	jmp    0x405e0f
405e38:	33 f6                	xor    %esi,%esi
405e3a:	46                   	inc    %esi
405e3b:	39 35 9c e3 40 00    	cmp    %esi,0x40e39c
405e41:	75 0a                	jne    0x405e4d
405e43:	6a 1f                	push   $0x1f
405e45:	e8 f4 04 00 00       	call   0x40633e
405e4a:	59                   	pop    %ecx
405e4b:	eb 3a                	jmp    0x405e87
405e4d:	39 1d 9c e3 40 00    	cmp    %ebx,0x40e39c
405e53:	75 2c                	jne    0x405e81
405e55:	89 35 9c e3 40 00    	mov    %esi,0x40e39c
405e5b:	68 34 11 40 00       	push   $0x401134
405e60:	68 28 11 40 00       	push   $0x401128
405e65:	e8 02 01 00 00       	call   0x405f6c
405e6a:	59                   	pop    %ecx
405e6b:	59                   	pop    %ecx
405e6c:	85 c0                	test   %eax,%eax
405e6e:	74 17                	je     0x405e87
405e70:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405e77:	b8 ff 00 00 00       	mov    $0xff,%eax
405e7c:	e9 db 00 00 00       	jmp    0x405f5c
405e81:	89 35 24 e0 40 00    	mov    %esi,0x40e024
405e87:	39 35 9c e3 40 00    	cmp    %esi,0x40e39c
405e8d:	75 1b                	jne    0x405eaa
405e8f:	68 24 11 40 00       	push   $0x401124
405e94:	68 1c 11 40 00       	push   $0x40111c
405e99:	e8 b2 06 00 00       	call   0x406550
405e9e:	59                   	pop    %ecx
405e9f:	59                   	pop    %ecx
405ea0:	c7 05 9c e3 40 00 02 	movl   $0x2,0x40e39c
405ea7:	00 00 00
405eaa:	85 ff                	test   %edi,%edi
405eac:	75 09                	jne    0x405eb7
405eae:	33 c0                	xor    %eax,%eax
405eb0:	b9 98 e3 40 00       	mov    $0x40e398,%ecx
405eb5:	87 01                	xchg   %eax,(%ecx)
405eb7:	83 3d a0 e3 40 00 00 	cmpl   $0x0,0x40e3a0
405ebe:	74 23                	je     0x405ee3
405ec0:	68 a0 e3 40 00       	push   $0x40e3a0
405ec5:	e8 e6 04 00 00       	call   0x4063b0
405eca:	59                   	pop    %ecx
405ecb:	85 c0                	test   %eax,%eax
405ecd:	74 14                	je     0x405ee3
405ecf:	53                   	push   %ebx
405ed0:	6a 02                	push   $0x2
405ed2:	53                   	push   %ebx
405ed3:	8b 35 a0 e3 40 00    	mov    0x40e3a0,%esi
405ed9:	8b ce                	mov    %esi,%ecx
405edb:	ff 15 4c f1 40 00    	call   *0x40f14c
405ee1:	ff d6                	call   *%esi
405ee3:	ff 35 30 e0 40 00    	push   0x40e030
405ee9:	ff 35 2c e0 40 00    	push   0x40e02c
405eef:	ff 35 28 e0 40 00    	push   0x40e028
405ef5:	e8 46 f6 ff ff       	call   0x405540
405efa:	83 c4 0c             	add    $0xc,%esp
405efd:	a3 20 e0 40 00       	mov    %eax,0x40e020
405f02:	83 3d 38 e0 40 00 00 	cmpl   $0x0,0x40e038
405f09:	75 36                	jne    0x405f41
405f0b:	50                   	push   %eax
405f0c:	ff 15 d0 f0 40 00    	call   *0x40f0d0
405f12:	8b 4d ec             	mov    -0x14(%ebp),%ecx
405f15:	8b 01                	mov    (%ecx),%eax
405f17:	8b 00                	mov    (%eax),%eax
405f19:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405f1c:	51                   	push   %ecx
405f1d:	50                   	push   %eax
405f1e:	e8 6b 03 00 00       	call   0x40628e
405f23:	59                   	pop    %ecx
405f24:	59                   	pop    %ecx
405f25:	c3                   	ret
405f26:	8b 65 e8             	mov    -0x18(%ebp),%esp
405f29:	8b 45 e4             	mov    -0x1c(%ebp),%eax
405f2c:	a3 20 e0 40 00       	mov    %eax,0x40e020
405f31:	83 3d 38 e0 40 00 00 	cmpl   $0x0,0x40e038
405f38:	75 07                	jne    0x405f41
405f3a:	50                   	push   %eax
405f3b:	ff 15 d4 f0 40 00    	call   *0x40f0d4
405f41:	83 3d 24 e0 40 00 00 	cmpl   $0x0,0x40e024
405f48:	75 0b                	jne    0x405f55
405f4a:	ff 15 e8 f0 40 00    	call   *0x40f0e8
405f50:	a1 20 e0 40 00       	mov    0x40e020,%eax
405f55:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405f5c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
405f5f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
405f66:	59                   	pop    %ecx
405f67:	5f                   	pop    %edi
405f68:	5e                   	pop    %esi
405f69:	5b                   	pop    %ebx
405f6a:	c9                   	leave
405f6b:	c3                   	ret
405f6c:	8b ff                	mov    %edi,%edi
405f6e:	55                   	push   %ebp
405f6f:	8b ec                	mov    %esp,%ebp
405f71:	56                   	push   %esi
405f72:	8b 75 08             	mov    0x8(%ebp),%esi
405f75:	33 c0                	xor    %eax,%eax
405f77:	3b 75 0c             	cmp    0xc(%ebp),%esi
405f7a:	73 1e                	jae    0x405f9a
405f7c:	57                   	push   %edi
405f7d:	85 c0                	test   %eax,%eax
405f7f:	75 18                	jne    0x405f99
405f81:	8b 3e                	mov    (%esi),%edi
405f83:	85 ff                	test   %edi,%edi
405f85:	74 0a                	je     0x405f91
405f87:	8b cf                	mov    %edi,%ecx
405f89:	ff 15 4c f1 40 00    	call   *0x40f14c
405f8f:	ff d7                	call   *%edi
405f91:	83 c6 04             	add    $0x4,%esi
405f94:	3b 75 0c             	cmp    0xc(%ebp),%esi
405f97:	72 e4                	jb     0x405f7d
405f99:	5f                   	pop    %edi
405f9a:	5e                   	pop    %esi
405f9b:	5d                   	pop    %ebp
405f9c:	c3                   	ret
405f9d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
405fa2:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
405fa9:	75 55                	jne    0x406000
405fab:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
405fb1:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
405fb8:	45 00 00
405fbb:	75 43                	jne    0x406000
405fbd:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
405fc4:	ba 0b 01 00 00       	mov    $0x10b,%edx
405fc9:	66 3b c2             	cmp    %dx,%ax
405fcc:	74 1f                	je     0x405fed
405fce:	ba 0b 02 00 00       	mov    $0x20b,%edx
405fd3:	66 3b c2             	cmp    %dx,%ax
405fd6:	75 28                	jne    0x406000
405fd8:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
405fdf:	76 1f                	jbe    0x406000
405fe1:	33 c0                	xor    %eax,%eax
405fe3:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
405fe9:	0f 95 c0             	setne  %al
405fec:	c3                   	ret
405fed:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
405ff4:	76 0a                	jbe    0x406000
405ff6:	33 c0                	xor    %eax,%eax
405ff8:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
405ffe:	eb e9                	jmp    0x405fe9
406000:	33 c0                	xor    %eax,%eax
406002:	c3                   	ret
406003:	cc                   	int3
406004:	cc                   	int3
406005:	cc                   	int3
406006:	cc                   	int3
406007:	cc                   	int3
406008:	cc                   	int3
406009:	cc                   	int3
40600a:	cc                   	int3
40600b:	cc                   	int3
40600c:	cc                   	int3
40600d:	cc                   	int3
40600e:	cc                   	int3
40600f:	cc                   	int3
406010:	e8 90 04 00 00       	call   0x4064a5
406015:	e9 d9 fd ff ff       	jmp    0x405df3
40601a:	cc                   	int3
40601b:	cc                   	int3
40601c:	cc                   	int3
40601d:	cc                   	int3
40601e:	cc                   	int3
40601f:	cc                   	int3
406020:	3b 0d 04 e0 40 00    	cmp    0x40e004,%ecx
406026:	75 03                	jne    0x40602b
406028:	c2 00 00             	ret    $0x0
40602b:	e9 2a 00 00 00       	jmp    0x40605a
406030:	8b ff                	mov    %edi,%edi
406032:	55                   	push   %ebp
406033:	8b ec                	mov    %esp,%ebp
406035:	6a 00                	push   $0x0
406037:	ff 15 48 f0 40 00    	call   *0x40f048
40603d:	ff 75 08             	push   0x8(%ebp)
406040:	ff 15 44 f0 40 00    	call   *0x40f044
406046:	68 09 04 00 c0       	push   $0xc0000409
40604b:	ff 15 90 f0 40 00    	call   *0x40f090
406051:	50                   	push   %eax
406052:	ff 15 8c f0 40 00    	call   *0x40f08c
406058:	5d                   	pop    %ebp
406059:	c3                   	ret
40605a:	8b ff                	mov    %edi,%edi
40605c:	55                   	push   %ebp
40605d:	8b ec                	mov    %esp,%ebp
40605f:	81 ec 24 03 00 00    	sub    $0x324,%esp
406065:	a3 40 e1 40 00       	mov    %eax,0x40e140
40606a:	89 0d 3c e1 40 00    	mov    %ecx,0x40e13c
406070:	89 15 38 e1 40 00    	mov    %edx,0x40e138
406076:	89 1d 34 e1 40 00    	mov    %ebx,0x40e134
40607c:	89 35 30 e1 40 00    	mov    %esi,0x40e130
406082:	89 3d 2c e1 40 00    	mov    %edi,0x40e12c
406088:	66 8c 15 58 e1 40 00 	data16 mov %ss,0x40e158
40608f:	66 8c 0d 4c e1 40 00 	data16 mov %cs,0x40e14c
406096:	66 8c 1d 28 e1 40 00 	data16 mov %ds,0x40e128
40609d:	66 8c 05 24 e1 40 00 	data16 mov %es,0x40e124
4060a4:	66 8c 25 20 e1 40 00 	data16 mov %fs,0x40e120
4060ab:	66 8c 2d 1c e1 40 00 	data16 mov %gs,0x40e11c
4060b2:	9c                   	pushf
4060b3:	8f 05 50 e1 40 00    	pop    0x40e150
4060b9:	8b 45 00             	mov    0x0(%ebp),%eax
4060bc:	a3 44 e1 40 00       	mov    %eax,0x40e144
4060c1:	8b 45 04             	mov    0x4(%ebp),%eax
4060c4:	a3 48 e1 40 00       	mov    %eax,0x40e148
4060c9:	8d 45 08             	lea    0x8(%ebp),%eax
4060cc:	a3 54 e1 40 00       	mov    %eax,0x40e154
4060d1:	8b 85 dc fc ff ff    	mov    -0x324(%ebp),%eax
4060d7:	c7 05 90 e0 40 00 01 	movl   $0x10001,0x40e090
4060de:	00 01 00
4060e1:	a1 48 e1 40 00       	mov    0x40e148,%eax
4060e6:	a3 4c e0 40 00       	mov    %eax,0x40e04c
4060eb:	c7 05 40 e0 40 00 09 	movl   $0xc0000409,0x40e040
4060f2:	04 00 c0
4060f5:	c7 05 44 e0 40 00 01 	movl   $0x1,0x40e044
4060fc:	00 00 00
4060ff:	c7 05 50 e0 40 00 03 	movl   $0x3,0x40e050
406106:	00 00 00
406109:	6a 04                	push   $0x4
40610b:	58                   	pop    %eax
40610c:	6b c0 00             	imul   $0x0,%eax,%eax
40610f:	c7 80 54 e0 40 00 02 	movl   $0x2,0x40e054(%eax)
406116:	00 00 00
406119:	6a 04                	push   $0x4
40611b:	58                   	pop    %eax
40611c:	c1 e0 00             	shl    $0x0,%eax
40611f:	8b 0d 04 e0 40 00    	mov    0x40e004,%ecx
406125:	89 88 54 e0 40 00    	mov    %ecx,0x40e054(%eax)
40612b:	6a 04                	push   $0x4
40612d:	58                   	pop    %eax
40612e:	d1 e0                	shl    $1,%eax
406130:	8b 0d 08 e0 40 00    	mov    0x40e008,%ecx
406136:	89 88 54 e0 40 00    	mov    %ecx,0x40e054(%eax)
40613c:	6a 04                	push   $0x4
40613e:	58                   	pop    %eax
40613f:	6b c0 00             	imul   $0x0,%eax,%eax
406142:	8b 0d 04 e0 40 00    	mov    0x40e004,%ecx
406148:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40614c:	6a 04                	push   $0x4
40614e:	58                   	pop    %eax
40614f:	c1 e0 00             	shl    $0x0,%eax
406152:	8b 0d 08 e0 40 00    	mov    0x40e008,%ecx
406158:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
40615c:	68 00 10 40 00       	push   $0x401000
406161:	e8 ca fe ff ff       	call   0x406030
406166:	c9                   	leave
406167:	c3                   	ret
406168:	8b ff                	mov    %edi,%edi
40616a:	55                   	push   %ebp
40616b:	8b ec                	mov    %esp,%ebp
40616d:	a3 40 e1 40 00       	mov    %eax,0x40e140
406172:	89 0d 3c e1 40 00    	mov    %ecx,0x40e13c
406178:	89 15 38 e1 40 00    	mov    %edx,0x40e138