401dfb:	56                   	push   %esi
401dfc:	ff 15 00 b0 41 00    	call   *0x41b000
401e02:	8b d8                	mov    %eax,%ebx
401e04:	89 5d dc             	mov    %ebx,-0x24(%ebp)
401e07:	85 db                	test   %ebx,%ebx
401e09:	0f 84 91 00 00 00    	je     0x401ea0
401e0f:	57                   	push   %edi
401e10:	68 ff 01 0f 00       	push   $0xf01ff
401e15:	ff 35 48 47 42 00    	push   0x424748
401e1b:	53                   	push   %ebx
401e1c:	ff 15 08 b0 41 00    	call   *0x41b008
401e22:	8b f8                	mov    %eax,%edi
401e24:	85 ff                	test   %edi,%edi
401e26:	74 70                	je     0x401e98
401e28:	8d 45 e0             	lea    -0x20(%ebp),%eax
401e2b:	50                   	push   %eax
401e2c:	6a 01                	push   $0x1
401e2e:	57                   	push   %edi
401e2f:	ff 15 24 b0 41 00    	call   *0x41b024
401e35:	85 c0                	test   %eax,%eax
401e37:	74 45                	je     0x401e7e
401e39:	8d 45 e0             	lea    -0x20(%ebp),%eax
401e3c:	50                   	push   %eax
401e3d:	57                   	push   %edi
401e3e:	ff 15 20 b0 41 00    	call   *0x41b020
401e44:	85 c0                	test   %eax,%eax
401e46:	74 49                	je     0x401e91
401e48:	8b 1d 88 b0 41 00    	mov    0x41b088,%ebx
401e4e:	66 90                	xchg   %ax,%ax
401e50:	8b 45 f8             	mov    -0x8(%ebp),%eax
401e53:	85 c0                	test   %eax,%eax
401e55:	74 1d                	je     0x401e74
401e57:	50                   	push   %eax
401e58:	ff d3                	call   *%ebx
401e5a:	83 7d e4 01          	cmpl   $0x1,-0x1c(%ebp)
401e5e:	74 14                	je     0x401e74
401e60:	8d 45 e0             	lea    -0x20(%ebp),%eax
401e63:	50                   	push   %eax
401e64:	57                   	push   %edi
401e65:	ff 15 20 b0 41 00    	call   *0x41b020
401e6b:	85 c0                	test   %eax,%eax
401e6d:	75 e1                	jne    0x401e50
401e6f:	8b 5d dc             	mov    -0x24(%ebp),%ebx
401e72:	eb 1d                	jmp    0x401e91
401e74:	8b 5d dc             	mov    -0x24(%ebp),%ebx
401e77:	be 01 00 00 00       	mov    $0x1,%esi
401e7c:	eb 13                	jmp    0x401e91
401e7e:	ff 15 48 b0 41 00    	call   *0x41b048
401e84:	3d 26 04 00 00       	cmp    $0x426,%eax
401e89:	b9 01 00 00 00       	mov    $0x1,%ecx
401e8e:	0f 44 f1             	cmove  %ecx,%esi
401e91:	57                   	push   %edi
401e92:	ff 15 14 b0 41 00    	call   *0x41b014
401e98:	53                   	push   %ebx
401e99:	ff 15 14 b0 41 00    	call   *0x41b014
401e9f:	5f                   	pop    %edi
401ea0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401ea3:	8b c6                	mov    %esi,%eax
401ea5:	5e                   	pop    %esi
401ea6:	33 cd                	xor    %ebp,%ecx
401ea8:	5b                   	pop    %ebx
401ea9:	e8 a8 10 00 00       	call   0x402f56
401eae:	8b e5                	mov    %ebp,%esp
401eb0:	5d                   	pop    %ebp
401eb1:	c3                   	ret
401eb2:	cc                   	int3
401eb3:	cc                   	int3
401eb4:	cc                   	int3
401eb5:	cc                   	int3
401eb6:	cc                   	int3
401eb7:	cc                   	int3
401eb8:	cc                   	int3
401eb9:	cc                   	int3
401eba:	cc                   	int3
401ebb:	cc                   	int3
401ebc:	cc                   	int3
401ebd:	cc                   	int3
401ebe:	cc                   	int3
401ebf:	cc                   	int3
401ec0:	55                   	push   %ebp
401ec1:	8b ec                	mov    %esp,%ebp
401ec3:	6a ff                	push   $0xffffffff
401ec5:	68 d1 a0 41 00       	push   $0x41a0d1
401eca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401ed0:	50                   	push   %eax
401ed1:	83 ec 0c             	sub    $0xc,%esp
401ed4:	53                   	push   %ebx
401ed5:	56                   	push   %esi
401ed6:	57                   	push   %edi
401ed7:	a1 0c 30 42 00       	mov    0x42300c,%eax
401edc:	33 c5                	xor    %ebp,%eax
401ede:	50                   	push   %eax
401edf:	8d 45 f4             	lea    -0xc(%ebp),%eax
401ee2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401ee8:	8b f9                	mov    %ecx,%edi
401eea:	89 7d e8             	mov    %edi,-0x18(%ebp)
401eed:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401ef4:	8b 75 08             	mov    0x8(%ebp),%esi
401ef7:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
401efe:	8b 06                	mov    (%esi),%eax
401f00:	8b 48 f0             	mov    -0x10(%eax),%ecx
401f03:	85 c9                	test   %ecx,%ecx
401f05:	74 0b                	je     0x401f12
401f07:	8b 01                	mov    (%ecx),%eax
401f09:	ff 50 10             	call   *0x10(%eax)
401f0c:	8b c8                	mov    %eax,%ecx
401f0e:	85 c9                	test   %ecx,%ecx
401f10:	75 1c                	jne    0x401f2e
401f12:	e8 69 f7 ff ff       	call   0x401680
401f17:	8b c8                	mov    %eax,%ecx
401f19:	8b 10                	mov    (%eax),%edx
401f1b:	ff 52 10             	call   *0x10(%edx)
401f1e:	8b c8                	mov    %eax,%ecx
401f20:	85 c9                	test   %ecx,%ecx
401f22:	75 0a                	jne    0x401f2e
401f24:	68 05 40 00 80       	push   $0x80004005
401f29:	e8 92 f4 ff ff       	call   0x4013c0
401f2e:	8b 01                	mov    (%ecx),%eax
401f30:	ff 50 0c             	call   *0xc(%eax)
401f33:	83 c0 10             	add    $0x10,%eax
401f36:	89 07                	mov    %eax,(%edi)
401f38:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
401f3f:	8b 06                	mov    (%esi),%eax
401f41:	89 45 ec             	mov    %eax,-0x14(%ebp)
401f44:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
401f4b:	8b 40 f4             	mov    -0xc(%eax),%eax
401f4e:	89 45 08             	mov    %eax,0x8(%ebp)
401f51:	8d 58 01             	lea    0x1(%eax),%ebx
401f54:	85 db                	test   %ebx,%ebx
401f56:	79 0a                	jns    0x401f62
401f58:	68 57 00 07 80       	push   $0x80070057
401f5d:	e8 5e f4 ff ff       	call   0x4013c0
401f62:	8b 07                	mov    (%edi),%eax
401f64:	b9 01 00 00 00       	mov    $0x1,%ecx
401f69:	2b 48 fc             	sub    -0x4(%eax),%ecx
401f6c:	8b 40 f8             	mov    -0x8(%eax),%eax
401f6f:	2b c3                	sub    %ebx,%eax
401f71:	0b c8                	or     %eax,%ecx
401f73:	7d 08                	jge    0x401f7d
401f75:	53                   	push   %ebx
401f76:	8b cf                	mov    %edi,%ecx
401f78:	e8 83 07 00 00       	call   0x402700
401f7d:	8b 37                	mov    (%edi),%esi
401f7f:	ba 02 00 00 00       	mov    $0x2,%edx
401f84:	6a 02                	push   $0x2
401f86:	68 20 0b 42 00       	push   $0x420b20
401f8b:	8b ce                	mov    %esi,%ecx
401f8d:	e8 8e 08 00 00       	call   0x402820
401f92:	8b 55 08             	mov    0x8(%ebp),%edx
401f95:	8d 4e 02             	lea    0x2(%esi),%ecx
401f98:	03 d2                	add    %edx,%edx
401f9a:	52                   	push   %edx
401f9b:	ff 75 ec             	push   -0x14(%ebp)
401f9e:	e8 7d 08 00 00       	call   0x402820
401fa3:	8b 07                	mov    (%edi),%eax
401fa5:	83 c4 10             	add    $0x10,%esp
401fa8:	3b 58 f8             	cmp    -0x8(%eax),%ebx
401fab:	7f ab                	jg     0x401f58
401fad:	89 58 f4             	mov    %ebx,-0xc(%eax)
401fb0:	33 c9                	xor    %ecx,%ecx
401fb2:	8b 07                	mov    (%edi),%eax
401fb4:	66 89 0c 58          	mov    %cx,(%eax,%ebx,2)
401fb8:	8b c7                	mov    %edi,%eax
401fba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401fbd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401fc4:	59                   	pop    %ecx
401fc5:	5f                   	pop    %edi
401fc6:	5e                   	pop    %esi
401fc7:	5b                   	pop    %ebx
401fc8:	8b e5                	mov    %ebp,%esp
401fca:	5d                   	pop    %ebp
401fcb:	c3                   	ret
401fcc:	cc                   	int3
401fcd:	cc                   	int3
401fce:	cc                   	int3
401fcf:	cc                   	int3
401fd0:	55                   	push   %ebp
401fd1:	8b ec                	mov    %esp,%ebp
401fd3:	6a ff                	push   $0xffffffff
401fd5:	68 11 a1 41 00       	push   $0x41a111
401fda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
401fe0:	50                   	push   %eax
401fe1:	83 ec 10             	sub    $0x10,%esp
401fe4:	53                   	push   %ebx
401fe5:	56                   	push   %esi
401fe6:	57                   	push   %edi
401fe7:	a1 0c 30 42 00       	mov    0x42300c,%eax
401fec:	33 c5                	xor    %ebp,%eax
401fee:	50                   	push   %eax
401fef:	8d 45 f4             	lea    -0xc(%ebp),%eax
401ff2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401ff8:	8b f2                	mov    %edx,%esi
401ffa:	8b d9                	mov    %ecx,%ebx
401ffc:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
401fff:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402006:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40200d:	8b 06                	mov    (%esi),%eax
40200f:	8b 48 f0             	mov    -0x10(%eax),%ecx
402012:	85 c9                	test   %ecx,%ecx
402014:	74 0b                	je     0x402021
402016:	8b 01                	mov    (%ecx),%eax
402018:	ff 50 10             	call   *0x10(%eax)
40201b:	8b c8                	mov    %eax,%ecx
40201d:	85 c9                	test   %ecx,%ecx
40201f:	75 1c                	jne    0x40203d
402021:	e8 5a f6 ff ff       	call   0x401680
402026:	8b c8                	mov    %eax,%ecx
402028:	8b 10                	mov    (%eax),%edx
40202a:	ff 52 10             	call   *0x10(%edx)
40202d:	8b c8                	mov    %eax,%ecx
40202f:	85 c9                	test   %ecx,%ecx
402031:	75 0a                	jne    0x40203d
402033:	68 05 40 00 80       	push   $0x80004005
402038:	e8 83 f3 ff ff       	call   0x4013c0
40203d:	8b 01                	mov    (%ecx),%eax
40203f:	ff 50 0c             	call   *0xc(%eax)
402042:	83 c0 10             	add    $0x10,%eax
402045:	89 03                	mov    %eax,(%ebx)
402047:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40204e:	8b 06                	mov    (%esi),%eax
402050:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
402057:	89 45 ec             	mov    %eax,-0x14(%ebp)
40205a:	8b 70 f4             	mov    -0xc(%eax),%esi
40205d:	89 75 e8             	mov    %esi,-0x18(%ebp)
402060:	8d 56 01             	lea    0x1(%esi),%edx
402063:	85 d2                	test   %edx,%edx
402065:	79 0a                	jns    0x402071
402067:	68 57 00 07 80       	push   $0x80070057
40206c:	e8 4f f3 ff ff       	call   0x4013c0
402071:	8b 03                	mov    (%ebx),%eax
402073:	b9 01 00 00 00       	mov    $0x1,%ecx
402078:	2b 48 fc             	sub    -0x4(%eax),%ecx
40207b:	8b 40 f8             	mov    -0x8(%eax),%eax
40207e:	2b c2                	sub    %edx,%eax
402080:	0b c8                	or     %eax,%ecx
402082:	7d 08                	jge    0x40208c
402084:	52                   	push   %edx
402085:	8b cb                	mov    %ebx,%ecx
402087:	e8 74 06 00 00       	call   0x402700
40208c:	8b 3b                	mov    (%ebx),%edi
40208e:	03 f6                	add    %esi,%esi
402090:	56                   	push   %esi
402091:	ff 75 ec             	push   -0x14(%ebp)
402094:	8b d6                	mov    %esi,%edx
402096:	8b cf                	mov    %edi,%ecx
402098:	e8 83 07 00 00       	call   0x402820
40209d:	6a 02                	push   $0x2
40209f:	68 20 0b 42 00       	push   $0x420b20
4020a4:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
4020a7:	ba 02 00 00 00       	mov    $0x2,%edx
4020ac:	e8 6f 07 00 00       	call   0x402820
4020b1:	8b 03                	mov    (%ebx),%eax
4020b3:	83 c4 10             	add    $0x10,%esp
4020b6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4020b9:	41                   	inc    %ecx
4020ba:	3b 48 f8             	cmp    -0x8(%eax),%ecx
4020bd:	7f a8                	jg     0x402067
4020bf:	89 48 f4             	mov    %ecx,-0xc(%eax)
4020c2:	33 d2                	xor    %edx,%edx
4020c4:	8b 03                	mov    (%ebx),%eax
4020c6:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
4020ca:	8b c3                	mov    %ebx,%eax
4020cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4020cf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4020d6:	59                   	pop    %ecx
4020d7:	5f                   	pop    %edi
4020d8:	5e                   	pop    %esi
4020d9:	5b                   	pop    %ebx
4020da:	8b e5                	mov    %ebp,%esp
4020dc:	5d                   	pop    %ebp
4020dd:	c3                   	ret
4020de:	cc                   	int3
4020df:	cc                   	int3
4020e0:	55                   	push   %ebp
4020e1:	8b ec                	mov    %esp,%ebp
4020e3:	6a ff                	push   $0xffffffff
4020e5:	68 59 a1 41 00       	push   $0x41a159
4020ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4020f0:	50                   	push   %eax
4020f1:	83 ec 08             	sub    $0x8,%esp
4020f4:	53                   	push   %ebx
4020f5:	56                   	push   %esi
4020f6:	57                   	push   %edi
4020f7:	a1 0c 30 42 00       	mov    0x42300c,%eax
4020fc:	33 c5                	xor    %ebp,%eax
4020fe:	50                   	push   %eax
4020ff:	8d 45 f4             	lea    -0xc(%ebp),%eax
402102:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402108:	89 4d ec             	mov    %ecx,-0x14(%ebp)
40210b:	8b 45 0c             	mov    0xc(%ebp),%eax
40210e:	33 f6                	xor    %esi,%esi
402110:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
402117:	85 c0                	test   %eax,%eax
402119:	8b 19                	mov    (%ecx),%ebx
40211b:	0f 49 f0             	cmovns %eax,%esi
40211e:	8b 7b f4             	mov    -0xc(%ebx),%edi
402121:	3b f7                	cmp    %edi,%esi
402123:	0f 8c 81 00 00 00    	jl     0x4021aa
402129:	8b 4b f0             	mov    -0x10(%ebx),%ecx
40212c:	8d 73 f0             	lea    -0x10(%ebx),%esi
40212f:	8b 01                	mov    (%ecx),%eax
402131:	ff 50 10             	call   *0x10(%eax)
402134:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
402138:	8b c8                	mov    %eax,%ecx
40213a:	8d 46 0c             	lea    0xc(%esi),%eax
40213d:	7c 09                	jl     0x402148
40213f:	3b 0e                	cmp    (%esi),%ecx
402141:	75 05                	jne    0x402148
402143:	f0 ff 00             	lock incl (%eax)
402146:	eb 38                	jmp    0x402180
402148:	8b 01                	mov    (%ecx),%eax
40214a:	8d 7e 04             	lea    0x4(%esi),%edi
40214d:	6a 02                	push   $0x2
40214f:	ff 37                	push   (%edi)
402151:	ff 10                	call   *(%eax)
402153:	8b f0                	mov    %eax,%esi
402155:	85 f6                	test   %esi,%esi
402157:	75 05                	jne    0x40215e
402159:	e8 f2 03 00 00       	call   0x402550
40215e:	8b 07                	mov    (%edi),%eax
402160:	8d 4e 10             	lea    0x10(%esi),%ecx
402163:	89 46 04             	mov    %eax,0x4(%esi)
402166:	8b 17                	mov    (%edi),%edx
402168:	8d 04 55 02 00 00 00 	lea    0x2(,%edx,2),%eax
40216f:	50                   	push   %eax
402170:	53                   	push   %ebx
402171:	8d 14 55 02 00 00 00 	lea    0x2(,%edx,2),%edx
402178:	e8 a3 06 00 00       	call   0x402820
40217d:	83 c4 08             	add    $0x8,%esp
402180:	8b 45 08             	mov    0x8(%ebp),%eax
402183:	8d 4e 10             	lea    0x10(%esi),%ecx
402186:	89 08                	mov    %ecx,(%eax)
402188:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40218f:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
402196:	8b 4d f4             	mov    -0xc(%ebp),%ecx
402199:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4021a0:	59                   	pop    %ecx
4021a1:	5f                   	pop    %edi
4021a2:	5e                   	pop    %esi
4021a3:	5b                   	pop    %ebx
4021a4:	8b e5                	mov    %ebp,%esp
4021a6:	5d                   	pop    %ebp
4021a7:	c2 08 00             	ret    $0x8
4021aa:	8b 4b f0             	mov    -0x10(%ebx),%ecx
4021ad:	85 c9                	test   %ecx,%ecx
4021af:	74 0b                	je     0x4021bc
4021b1:	8b 01                	mov    (%ecx),%eax
4021b3:	ff 50 10             	call   *0x10(%eax)
4021b6:	8b d0                	mov    %eax,%edx
4021b8:	85 d2                	test   %edx,%edx