403eae:	74 12                	je     0x403ec2
403eb0:	8b 01                	mov    (%ecx),%eax
403eb2:	56                   	push   %esi
403eb3:	51                   	push   %ecx
403eb4:	8b 70 04             	mov    0x4(%eax),%esi
403eb7:	8b ce                	mov    %esi,%ecx
403eb9:	ff 15 90 61 40 00    	call   *0x406190
403ebf:	ff d6                	call   *%esi
403ec1:	5e                   	pop    %esi
403ec2:	33 c0                	xor    %eax,%eax
403ec4:	c7 07 8c 10 40 00    	movl   $0x40108c,(%edi)
403eca:	89 47 0c             	mov    %eax,0xc(%edi)
403ecd:	89 47 14             	mov    %eax,0x14(%edi)
403ed0:	89 47 18             	mov    %eax,0x18(%edi)
403ed3:	8b c7                	mov    %edi,%eax
403ed5:	c7 47 10 02 00 00 00 	movl   $0x2,0x10(%edi)
403edc:	5f                   	pop    %edi
403edd:	c3                   	ret
403ede:	8b ff                	mov    %edi,%edi
403ee0:	53                   	push   %ebx
403ee1:	56                   	push   %esi
403ee2:	8b 35 78 54 40 00    	mov    0x405478,%esi
403ee8:	32 db                	xor    %bl,%bl
403eea:	85 f6                	test   %esi,%esi
403eec:	75 2d                	jne    0x403f1b
403eee:	68 0c 14 40 00       	push   $0x40140c
403ef3:	e8 3d 00 00 00       	call   0x403f35
403ef8:	85 c0                	test   %eax,%eax
403efa:	74 15                	je     0x403f11
403efc:	68 20 14 40 00       	push   $0x401420
403f01:	50                   	push   %eax
403f02:	e8 28 00 00 00       	call   0x403f2f
403f07:	8b f0                	mov    %eax,%esi
403f09:	89 35 78 54 40 00    	mov    %esi,0x405478
403f0f:	eb 06                	jmp    0x403f17
403f11:	8b 35 78 54 40 00    	mov    0x405478,%esi
403f17:	85 f6                	test   %esi,%esi
403f19:	74 0f                	je     0x403f2a
403f1b:	8b ce                	mov    %esi,%ecx
403f1d:	ff 15 90 61 40 00    	call   *0x406190
403f23:	ff d6                	call   *%esi
403f25:	84 c0                	test   %al,%al
403f27:	0f 95 c3             	setne  %bl
403f2a:	5e                   	pop    %esi
403f2b:	8a c3                	mov    %bl,%al
403f2d:	5b                   	pop    %ebx
403f2e:	c3                   	ret
403f2f:	ff 25 4c 60 40 00    	jmp    *0x40604c
403f35:	ff 25 5c 60 40 00    	jmp    *0x40605c
403f3b:	8b ff                	mov    %edi,%edi
403f3d:	55                   	push   %ebp
403f3e:	8b ec                	mov    %esp,%ebp
403f40:	56                   	push   %esi
403f41:	eb 0d                	jmp    0x403f50
403f43:	ff 75 08             	push   0x8(%ebp)
403f46:	e8 8b 05 00 00       	call   0x4044d6
403f4b:	59                   	pop    %ecx
403f4c:	85 c0                	test   %eax,%eax
403f4e:	74 0f                	je     0x403f5f
403f50:	ff 75 08             	push   0x8(%ebp)
403f53:	e8 78 05 00 00       	call   0x4044d0
403f58:	8b f0                	mov    %eax,%esi
403f5a:	59                   	pop    %ecx
403f5b:	85 f6                	test   %esi,%esi
403f5d:	74 e4                	je     0x403f43
403f5f:	8b c6                	mov    %esi,%eax
403f61:	5e                   	pop    %esi
403f62:	5d                   	pop    %ebp
403f63:	c3                   	ret
403f64:	e9 73 05 00 00       	jmp    0x4044dc
403f69:	cc                   	int3
403f6a:	cc                   	int3
403f6b:	cc                   	int3
403f6c:	cc                   	int3
403f6d:	cc                   	int3
403f6e:	cc                   	int3
403f6f:	cc                   	int3
403f70:	e8 c5 02 00 00       	call   0x40423a
403f75:	6a 02                	push   $0x2
403f77:	a3 48 50 40 00       	mov    %eax,0x405048
403f7c:	e8 47 06 00 00       	call   0x4045c8
403f81:	50                   	push   %eax
403f82:	ff 15 70 61 40 00    	call   *0x406170
403f88:	83 0d 84 54 40 00 ff 	orl    $0xffffffff,0x405484
403f8f:	83 0d 88 54 40 00 ff 	orl    $0xffffffff,0x405488
403f96:	59                   	pop    %ecx
403f97:	59                   	pop    %ecx
403f98:	ff 15 40 61 40 00    	call   *0x406140
403f9e:	8b 0d 78 53 40 00    	mov    0x405378,%ecx
403fa4:	89 08                	mov    %ecx,(%eax)
403fa6:	ff 15 7c 61 40 00    	call   *0x40617c
403fac:	8b 0d 6c 53 40 00    	mov    0x40536c,%ecx
403fb2:	89 08                	mov    %ecx,(%eax)
403fb4:	e8 57 06 00 00       	call   0x404610
403fb9:	83 3d 10 50 40 00 00 	cmpl   $0x0,0x405010
403fc0:	75 0c                	jne    0x403fce
403fc2:	68 10 46 40 00       	push   $0x404610
403fc7:	ff 15 20 61 40 00    	call   *0x406120
403fcd:	59                   	pop    %ecx
403fce:	e8 2a 08 00 00       	call   0x4047fd
403fd3:	33 c0                	xor    %eax,%eax
403fd5:	c3                   	ret
403fd6:	cc                   	int3
403fd7:	cc                   	int3
403fd8:	cc                   	int3
403fd9:	cc                   	int3
403fda:	cc                   	int3
403fdb:	cc                   	int3
403fdc:	cc                   	int3
403fdd:	cc                   	int3
403fde:	cc                   	int3
403fdf:	cc                   	int3
403fe0:	a1 74 53 40 00       	mov    0x405374,%eax
403fe5:	68 4c 50 40 00       	push   $0x40504c
403fea:	ff 35 70 53 40 00    	push   0x405370
403ff0:	a3 4c 50 40 00       	mov    %eax,0x40504c
403ff5:	68 40 50 40 00       	push   $0x405040
403ffa:	68 3c 50 40 00       	push   $0x40503c
403fff:	68 38 50 40 00       	push   $0x405038
404004:	ff 15 74 61 40 00    	call   *0x406174
40400a:	83 c4 14             	add    $0x14,%esp
40400d:	a3 44 50 40 00       	mov    %eax,0x405044
404012:	c3                   	ret
404013:	cc                   	int3
404014:	cc                   	int3
404015:	cc                   	int3
404016:	cc                   	int3
404017:	cc                   	int3
404018:	cc                   	int3
404019:	cc                   	int3
40401a:	cc                   	int3
40401b:	cc                   	int3
40401c:	cc                   	int3
40401d:	cc                   	int3
40401e:	cc                   	int3
40401f:	cc                   	int3
404020:	e8 40 07 00 00       	call   0x404765
404025:	e9 00 00 00 00       	jmp    0x40402a
40402a:	6a 58                	push   $0x58
40402c:	68 c8 49 40 00       	push   $0x4049c8
404031:	e8 e2 07 00 00       	call   0x404818
404036:	33 db                	xor    %ebx,%ebx
404038:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40403b:	8d 45 98             	lea    -0x68(%ebp),%eax
40403e:	50                   	push   %eax
40403f:	ff 15 f8 60 40 00    	call   *0x4060f8
404045:	89 5d fc             	mov    %ebx,-0x4(%ebp)
404048:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
40404e:	8b 70 04             	mov    0x4(%eax),%esi
404051:	8b fb                	mov    %ebx,%edi
404053:	ba 7c 54 40 00       	mov    $0x40547c,%edx
404058:	8b ce                	mov    %esi,%ecx
40405a:	33 c0                	xor    %eax,%eax
40405c:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
404060:	85 c0                	test   %eax,%eax
404062:	74 18                	je     0x40407c
404064:	3b c6                	cmp    %esi,%eax
404066:	75 07                	jne    0x40406f
404068:	33 f6                	xor    %esi,%esi
40406a:	46                   	inc    %esi
40406b:	8b fe                	mov    %esi,%edi
40406d:	eb 10                	jmp    0x40407f
40406f:	68 e8 03 00 00       	push   $0x3e8
404074:	ff 15 0c 61 40 00    	call   *0x40610c
40407a:	eb d7                	jmp    0x404053
40407c:	33 f6                	xor    %esi,%esi
40407e:	46                   	inc    %esi
40407f:	39 35 80 54 40 00    	cmp    %esi,0x405480
404085:	75 0a                	jne    0x404091
404087:	6a 1f                	push   $0x1f
404089:	e8 70 05 00 00       	call   0x4045fe
40408e:	59                   	pop    %ecx
40408f:	eb 3a                	jmp    0x4040cb
404091:	39 1d 80 54 40 00    	cmp    %ebx,0x405480
404097:	75 2c                	jne    0x4040c5
404099:	89 35 80 54 40 00    	mov    %esi,0x405480
40409f:	68 74 11 40 00       	push   $0x401174
4040a4:	68 68 11 40 00       	push   $0x401168
4040a9:	e8 5b 01 00 00       	call   0x404209
4040ae:	59                   	pop    %ecx
4040af:	59                   	pop    %ecx
4040b0:	85 c0                	test   %eax,%eax
4040b2:	74 17                	je     0x4040cb
4040b4:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4040bb:	b8 ff 00 00 00       	mov    $0xff,%eax
4040c0:	e9 34 01 00 00       	jmp    0x4041f9
4040c5:	89 35 34 50 40 00    	mov    %esi,0x405034
4040cb:	39 35 80 54 40 00    	cmp    %esi,0x405480
4040d1:	75 1b                	jne    0x4040ee
4040d3:	68 64 11 40 00       	push   $0x401164
4040d8:	68 4c 11 40 00       	push   $0x40114c
4040dd:	e8 2e 07 00 00       	call   0x404810
4040e2:	59                   	pop    %ecx
4040e3:	59                   	pop    %ecx
4040e4:	c7 05 80 54 40 00 02 	movl   $0x2,0x405480
4040eb:	00 00 00
4040ee:	85 ff                	test   %edi,%edi
4040f0:	75 09                	jne    0x4040fb
4040f2:	33 c0                	xor    %eax,%eax
4040f4:	b9 7c 54 40 00       	mov    $0x40547c,%ecx
4040f9:	87 01                	xchg   %eax,(%ecx)
4040fb:	83 3d 8c 54 40 00 00 	cmpl   $0x0,0x40548c
404102:	74 23                	je     0x404127
404104:	68 8c 54 40 00       	push   $0x40548c
404109:	e8 62 05 00 00       	call   0x404670
40410e:	59                   	pop    %ecx
40410f:	85 c0                	test   %eax,%eax
404111:	74 14                	je     0x404127
404113:	53                   	push   %ebx
404114:	6a 02                	push   $0x2
404116:	53                   	push   %ebx
404117:	8b 35 8c 54 40 00    	mov    0x40548c,%esi
40411d:	8b ce                	mov    %esi,%ecx
40411f:	ff 15 90 61 40 00    	call   *0x406190
404125:	ff d6                	call   *%esi
404127:	a1 84 61 40 00       	mov    0x406184,%eax
40412c:	8b 30                	mov    (%eax),%esi
40412e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404131:	8b 7d e0             	mov    -0x20(%ebp),%edi
404134:	8a 0e                	mov    (%esi),%cl
404136:	80 f9 20             	cmp    $0x20,%cl
404139:	77 4a                	ja     0x404185
40413b:	84 c9                	test   %cl,%cl
40413d:	74 15                	je     0x404154
40413f:	85 ff                	test   %edi,%edi
404141:	75 42                	jne    0x404185
404143:	84 c9                	test   %cl,%cl
404145:	74 0d                	je     0x404154
404147:	80 f9 20             	cmp    $0x20,%cl
40414a:	77 08                	ja     0x404154
40414c:	46                   	inc    %esi
40414d:	89 75 e4             	mov    %esi,-0x1c(%ebp)
404150:	8a 0e                	mov    (%esi),%cl
404152:	eb ef                	jmp    0x404143
404154:	f6 45 c4 01          	testb  $0x1,-0x3c(%ebp)
404158:	74 06                	je     0x404160
40415a:	0f b7 45 c8          	movzwl -0x38(%ebp),%eax
40415e:	eb 03                	jmp    0x404163
404160:	6a 0a                	push   $0xa
404162:	58                   	pop    %eax
404163:	50                   	push   %eax
404164:	56                   	push   %esi
404165:	53                   	push   %ebx
404166:	68 00 00 40 00       	push   $0x400000
40416b:	e8 07 f3 ff ff       	call   0x403477
404170:	a3 30 50 40 00       	mov    %eax,0x405030
404175:	83 3d 48 50 40 00 00 	cmpl   $0x0,0x405048
40417c:	75 60                	jne    0x4041de
40417e:	50                   	push   %eax
40417f:	ff 15 44 61 40 00    	call   *0x406144
404185:	80 f9 22             	cmp    $0x22,%cl
404188:	75 0c                	jne    0x404196
40418a:	33 c0                	xor    %eax,%eax
40418c:	85 ff                	test   %edi,%edi
40418e:	0f 94 c0             	sete   %al
404191:	8b f8                	mov    %eax,%edi
404193:	89 7d e0             	mov    %edi,-0x20(%ebp)
404196:	0f b6 c1             	movzbl %cl,%eax
404199:	50                   	push   %eax
40419a:	ff 15 5c 61 40 00    	call   *0x40615c
4041a0:	59                   	pop    %ecx
4041a1:	85 c0                	test   %eax,%eax
4041a3:	74 04                	je     0x4041a9
4041a5:	46                   	inc    %esi
4041a6:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4041a9:	46                   	inc    %esi
4041aa:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4041ad:	eb 85                	jmp    0x404134
4041af:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4041b2:	8b 01                	mov    (%ecx),%eax
4041b4:	8b 00                	mov    (%eax),%eax
4041b6:	89 45 dc             	mov    %eax,-0x24(%ebp)
4041b9:	51                   	push   %ecx
4041ba:	50                   	push   %eax
4041bb:	e8 8e 03 00 00       	call   0x40454e
4041c0:	59                   	pop    %ecx
4041c1:	59                   	pop    %ecx
4041c2:	c3                   	ret
4041c3:	8b 65 e8             	mov    -0x18(%ebp),%esp
4041c6:	8b 45 dc             	mov    -0x24(%ebp),%eax
4041c9:	a3 30 50 40 00       	mov    %eax,0x405030
4041ce:	83 3d 48 50 40 00 00 	cmpl   $0x0,0x405048
4041d5:	75 07                	jne    0x4041de
4041d7:	50                   	push   %eax
4041d8:	ff 15 30 61 40 00    	call   *0x406130
4041de:	83 3d 34 50 40 00 00 	cmpl   $0x0,0x405034
4041e5:	75 0b                	jne    0x4041f2
4041e7:	ff 15 3c 61 40 00    	call   *0x40613c
4041ed:	a1 30 50 40 00       	mov    0x405030,%eax
4041f2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4041f9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4041fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404203:	59                   	pop    %ecx
404204:	5f                   	pop    %edi
404205:	5e                   	pop    %esi
404206:	5b                   	pop    %ebx
404207:	c9                   	leave
404208:	c3                   	ret
404209:	8b ff                	mov    %edi,%edi
40420b:	55                   	push   %ebp
40420c:	8b ec                	mov    %esp,%ebp
40420e:	56                   	push   %esi
40420f:	8b 75 08             	mov    0x8(%ebp),%esi
404212:	33 c0                	xor    %eax,%eax
404214:	3b 75 0c             	cmp    0xc(%ebp),%esi
404217:	73 1e                	jae    0x404237
404219:	57                   	push   %edi
40421a:	85 c0                	test   %eax,%eax
40421c:	75 18                	jne    0x404236
40421e:	8b 3e                	mov    (%esi),%edi
404220:	85 ff                	test   %edi,%edi
404222:	74 0a                	je     0x40422e
404224:	8b cf                	mov    %edi,%ecx
404226:	ff 15 90 61 40 00    	call   *0x406190
40422c:	ff d7                	call   *%edi
40422e:	83 c6 04             	add    $0x4,%esi
404231:	3b 75 0c             	cmp    0xc(%ebp),%esi
404234:	72 e4                	jb     0x40421a
404236:	5f                   	pop    %edi
404237:	5e                   	pop    %esi
404238:	5d                   	pop    %ebp
404239:	c3                   	ret
40423a:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40423f:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
404246:	75 55                	jne    0x40429d
404248:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
40424e:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
404255:	45 00 00
404258:	75 43                	jne    0x40429d
40425a:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
404261:	ba 0b 01 00 00       	mov    $0x10b,%edx
404266:	66 3b c2             	cmp    %dx,%ax
404269:	74 1f                	je     0x40428a
40426b:	ba 0b 02 00 00       	mov    $0x20b,%edx
404270:	66 3b c2             	cmp    %dx,%ax
404273:	75 28                	jne    0x40429d
404275:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
40427c:	76 1f                	jbe    0x40429d
40427e:	33 c0                	xor    %eax,%eax
404280:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
404286:	0f 95 c0             	setne  %al
404289:	c3                   	ret
40428a:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
404291:	76 0a                	jbe    0x40429d
404293:	33 c0                	xor    %eax,%eax
404295:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
40429b:	eb e9                	jmp    0x404286
40429d:	33 c0                	xor    %eax,%eax
40429f:	c3                   	ret
4042a0:	3b 0d 14 50 40 00    	cmp    0x405014,%ecx