404eaf:	c3                   	ret
404eb0:	e8 ca bb 01 00       	call   0x420a7f
404eb5:	cc                   	int3
404eb6:	cc                   	int3
404eb7:	cc                   	int3
404eb8:	cc                   	int3
404eb9:	cc                   	int3
404eba:	cc                   	int3
404ebb:	cc                   	int3
404ebc:	cc                   	int3
404ebd:	cc                   	int3
404ebe:	cc                   	int3
404ebf:	cc                   	int3
404ec0:	56                   	push   %esi
404ec1:	8b f1                	mov    %ecx,%esi
404ec3:	8b 46 68             	mov    0x68(%esi),%eax
404ec6:	c7 06 90 dd 44 00    	movl   $0x44dd90,(%esi)
404ecc:	85 c0                	test   %eax,%eax
404ece:	74 0e                	je     0x404ede
404ed0:	50                   	push   %eax
404ed1:	ff 15 68 f0 43 00    	call   *0x43f068
404ed7:	c7 46 68 00 00 00 00 	movl   $0x0,0x68(%esi)
404ede:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
404ee4:	85 c0                	test   %eax,%eax
404ee6:	74 37                	je     0x404f1f
404ee8:	8b 00                	mov    (%eax),%eax
404eea:	85 c0                	test   %eax,%eax
404eec:	74 0c                	je     0x404efa
404eee:	83 f8 ff             	cmp    $0xffffffff,%eax
404ef1:	74 07                	je     0x404efa
404ef3:	50                   	push   %eax
404ef4:	ff 15 68 f0 43 00    	call   *0x43f068
404efa:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
404f00:	85 c0                	test   %eax,%eax
404f02:	74 11                	je     0x404f15
404f04:	6a 04                	push   $0x4
404f06:	50                   	push   %eax
404f07:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
404f0d:	e8 fc 69 01 00       	call   0x41b90e
404f12:	83 c4 08             	add    $0x8,%esp
404f15:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
404f1c:	00 00 00
404f1f:	8d 8e 00 01 00 00    	lea    0x100(%esi),%ecx
404f25:	e8 46 45 00 00       	call   0x409470
404f2a:	8b 8e e8 00 00 00    	mov    0xe8(%esi),%ecx
404f30:	83 f9 08             	cmp    $0x8,%ecx
404f33:	72 31                	jb     0x404f66
404f35:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
404f3b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
404f42:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
404f48:	72 12                	jb     0x404f5c
404f4a:	8b 50 fc             	mov    -0x4(%eax),%edx
404f4d:	83 c1 23             	add    $0x23,%ecx
404f50:	2b c2                	sub    %edx,%eax
404f52:	83 c0 fc             	add    $0xfffffffc,%eax
404f55:	83 f8 1f             	cmp    $0x1f,%eax
404f58:	77 3c                	ja     0x404f96
404f5a:	8b c2                	mov    %edx,%eax
404f5c:	51                   	push   %ecx
404f5d:	50                   	push   %eax
404f5e:	e8 ab 69 01 00       	call   0x41b90e
404f63:	83 c4 08             	add    $0x8,%esp
404f66:	33 c0                	xor    %eax,%eax
404f68:	c7 86 e4 00 00 00 00 	movl   $0x0,0xe4(%esi)
404f6f:	00 00 00
404f72:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
404f78:	c7 86 e8 00 00 00 07 	movl   $0x7,0xe8(%esi)
404f7f:	00 00 00
404f82:	66 89 86 d4 00 00 00 	mov    %ax,0xd4(%esi)
404f89:	e8 82 fe ff ff       	call   0x404e10
404f8e:	8b ce                	mov    %esi,%ecx
404f90:	5e                   	pop    %esi
404f91:	e9 6a 95 00 00       	jmp    0x40e500
404f96:	e8 e4 ba 01 00       	call   0x420a7f
404f9b:	cc                   	int3
404f9c:	cc                   	int3
404f9d:	cc                   	int3
404f9e:	cc                   	int3
404f9f:	cc                   	int3
404fa0:	55                   	push   %ebp
404fa1:	8b ec                	mov    %esp,%ebp
404fa3:	83 e4 f8             	and    $0xfffffff8,%esp
404fa6:	83 ec 0c             	sub    $0xc,%esp
404fa9:	a1 14 40 45 00       	mov    0x454014,%eax
404fae:	33 c4                	xor    %esp,%eax
404fb0:	89 44 24 08          	mov    %eax,0x8(%esp)
404fb4:	53                   	push   %ebx
404fb5:	8b d9                	mov    %ecx,%ebx
404fb7:	56                   	push   %esi
404fb8:	57                   	push   %edi
404fb9:	8b 7d 08             	mov    0x8(%ebp),%edi
404fbc:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
404fc3:	75 7d                	jne    0x405042
404fc5:	33 c0                	xor    %eax,%eax
404fc7:	83 7b 60 08          	cmpl   $0x8,0x60(%ebx)
404fcb:	66 89 44 24 0c       	mov    %ax,0xc(%esp)
404fd0:	89 44 24 10          	mov    %eax,0x10(%esp)
404fd4:	8d 43 4c             	lea    0x4c(%ebx),%eax
404fd7:	72 02                	jb     0x404fdb
404fd9:	8b 00                	mov    (%eax),%eax
404fdb:	68 58 db 44 00       	push   $0x44db58
404fe0:	50                   	push   %eax
404fe1:	8d 44 24 18          	lea    0x18(%esp),%eax
404fe5:	50                   	push   %eax
404fe6:	e8 b2 fb 01 00       	call   0x424b9d
404feb:	8b 44 24 1c          	mov    0x1c(%esp),%eax
404fef:	83 c4 0c             	add    $0xc,%esp
404ff2:	85 c0                	test   %eax,%eax
404ff4:	74 4c                	je     0x405042
404ff6:	50                   	push   %eax
404ff7:	6a 02                	push   $0x2
404ff9:	8d 44 24 14          	lea    0x14(%esp),%eax
404ffd:	6a 01                	push   $0x1
404fff:	50                   	push   %eax
405000:	e8 36 13 02 00       	call   0x42633b
405005:	ff 74 24 20          	push   0x20(%esp)
405009:	e8 fb fc 01 00       	call   0x424d09
40500e:	66 8b 44 24 20       	mov    0x20(%esp),%ax
405013:	83 c4 14             	add    $0x14,%esp
405016:	3c ff                	cmp    $0xff,%al
405018:	75 05                	jne    0x40501f
40501a:	80 fc fe             	cmp    $0xfe,%ah
40501d:	74 23                	je     0x405042
40501f:	80 fc ff             	cmp    $0xff,%ah
405022:	75 04                	jne    0x405028
405024:	3c fe                	cmp    $0xfe,%al
405026:	74 1a                	je     0x405042
405028:	8b 07                	mov    (%edi),%eax
40502a:	85 c0                	test   %eax,%eax
40502c:	74 0d                	je     0x40503b
40502e:	50                   	push   %eax
40502f:	ff 15 68 f0 43 00    	call   *0x43f068
405035:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40503b:	8b cb                	mov    %ebx,%ecx
40503d:	e8 be 2c 00 00       	call   0x407d00
405042:	8d 73 4c             	lea    0x4c(%ebx),%esi
405045:	6a 01                	push   $0x1
405047:	8b ce                	mov    %esi,%ecx
405049:	e8 42 f0 00 00       	call   0x414090
40504e:	83 c4 04             	add    $0x4,%esp
405051:	85 c0                	test   %eax,%eax
405053:	74 1b                	je     0x405070
405055:	83 f8 01             	cmp    $0x1,%eax
405058:	75 68                	jne    0x4050c2
40505a:	6a 00                	push   $0x0
40505c:	8b ce                	mov    %esi,%ecx
40505e:	e8 8d e2 00 00       	call   0x4132f0
405063:	83 c4 04             	add    $0x4,%esp
405066:	84 c0                	test   %al,%al
405068:	74 58                	je     0x4050c2
40506a:	c7 07 ff ff ff ff    	movl   $0xffffffff,(%edi)
405070:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
405074:	8b c6                	mov    %esi,%eax
405076:	72 02                	jb     0x40507a
405078:	8b 06                	mov    (%esi),%eax
40507a:	6a 00                	push   $0x0
40507c:	68 80 00 20 00       	push   $0x200080
405081:	6a 03                	push   $0x3
405083:	6a 00                	push   $0x0
405085:	6a 03                	push   $0x3
405087:	68 00 00 00 40       	push   $0x40000000
40508c:	50                   	push   %eax
40508d:	ff 15 58 f0 43 00    	call   *0x43f058
405093:	89 07                	mov    %eax,(%edi)
405095:	83 f8 ff             	cmp    $0xffffffff,%eax
405098:	75 7f                	jne    0x405119
40509a:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40509e:	72 02                	jb     0x4050a2
4050a0:	8b 36                	mov    (%esi),%esi
4050a2:	6a 00                	push   $0x0
4050a4:	68 80 00 20 00       	push   $0x200080
4050a9:	6a 01                	push   $0x1
4050ab:	6a 00                	push   $0x0
4050ad:	6a 03                	push   $0x3
4050af:	68 00 00 00 40       	push   $0x40000000
4050b4:	56                   	push   %esi
4050b5:	ff 15 58 f0 43 00    	call   *0x43f058
4050bb:	89 07                	mov    %eax,(%edi)
4050bd:	83 f8 ff             	cmp    $0xffffffff,%eax
4050c0:	75 16                	jne    0x4050d8
4050c2:	32 c0                	xor    %al,%al
4050c4:	5f                   	pop    %edi
4050c5:	5e                   	pop    %esi
4050c6:	5b                   	pop    %ebx
4050c7:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4050cb:	33 cc                	xor    %esp,%ecx
4050cd:	e8 fe 67 01 00       	call   0x41b8d0
4050d2:	8b e5                	mov    %ebp,%esp
4050d4:	5d                   	pop    %ebp
4050d5:	c2 04 00             	ret    $0x4
4050d8:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4050df:	6a 00                	push   $0x0
4050e1:	75 17                	jne    0x4050fa
4050e3:	b9 ff fe 00 00       	mov    $0xfeff,%ecx
4050e8:	66 89 4c 24 10       	mov    %cx,0x10(%esp)
4050ed:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4050f1:	51                   	push   %ecx
4050f2:	6a 02                	push   $0x2
4050f4:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4050f8:	eb 17                	jmp    0x405111
4050fa:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4050fe:	66 c7 44 24 10 ef bb 	movw   $0xbbef,0x10(%esp)
405105:	51                   	push   %ecx
405106:	c6 44 24 16 bf       	movb   $0xbf,0x16(%esp)
40510b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40510f:	6a 03                	push   $0x3
405111:	51                   	push   %ecx
405112:	50                   	push   %eax
405113:	ff 15 4c f0 43 00    	call   *0x43f04c
405119:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40511d:	b0 01                	mov    $0x1,%al
40511f:	5f                   	pop    %edi
405120:	5e                   	pop    %esi
405121:	5b                   	pop    %ebx
405122:	33 cc                	xor    %esp,%ecx
405124:	e8 a7 67 01 00       	call   0x41b8d0
405129:	8b e5                	mov    %ebp,%esp
40512b:	5d                   	pop    %ebp
40512c:	c2 04 00             	ret    $0x4
40512f:	cc                   	int3
405130:	55                   	push   %ebp
405131:	8b ec                	mov    %esp,%ebp
405133:	6a ff                	push   $0xffffffff
405135:	68 bb d5 43 00       	push   $0x43d5bb
40513a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405140:	50                   	push   %eax
405141:	81 ec 58 02 00 00    	sub    $0x258,%esp
405147:	a1 14 40 45 00       	mov    0x454014,%eax
40514c:	33 c5                	xor    %ebp,%eax
40514e:	89 45 f0             	mov    %eax,-0x10(%ebp)
405151:	53                   	push   %ebx
405152:	56                   	push   %esi
405153:	57                   	push   %edi
405154:	50                   	push   %eax
405155:	8d 45 f4             	lea    -0xc(%ebp),%eax
405158:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40515e:	8b f9                	mov    %ecx,%edi
405160:	8b 75 08             	mov    0x8(%ebp),%esi
405163:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
405169:	50                   	push   %eax
40516a:	68 04 01 00 00       	push   $0x104
40516f:	ff 15 54 f0 43 00    	call   *0x43f054
405175:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40517b:	50                   	push   %eax
40517c:	ff 15 ec f1 43 00    	call   *0x43f1ec
405182:	85 c0                	test   %eax,%eax
405184:	0f 85 bb 00 00 00    	jne    0x405245
40518a:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
405190:	89 85 b4 fd ff ff    	mov    %eax,-0x24c(%ebp)
405196:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
40519c:	8d 51 02             	lea    0x2(%ecx),%edx
40519f:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
4051a5:	66 8b 01             	mov    (%ecx),%ax
4051a8:	83 c1 02             	add    $0x2,%ecx
4051ab:	66 85 c0             	test   %ax,%ax
4051ae:	75 f5                	jne    0x4051a5
4051b0:	2b ca                	sub    %edx,%ecx
4051b2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4051b8:	d1 f9                	sar    $1,%ecx
4051ba:	51                   	push   %ecx
4051bb:	50                   	push   %eax
4051bc:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
4051c2:	e8 49 d3 ff ff       	call   0x402510
4051c7:	32 db                	xor    %bl,%bl
4051c9:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4051cf:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
4051d6:	6a 00                	push   $0x0
4051d8:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
4051df:	50                   	push   %eax
4051e0:	6a 00                	push   $0x0
4051e2:	ff 15 e4 f1 43 00    	call   *0x43f1e4
4051e8:	85 c0                	test   %eax,%eax
4051ea:	74 0c                	je     0x4051f8
4051ec:	3d b7 00 00 00       	cmp    $0xb7,%eax
4051f1:	74 05                	je     0x4051f8
4051f3:	83 f8 50             	cmp    $0x50,%eax
4051f6:	75 02                	jne    0x4051fa
4051f8:	b3 01                	mov    $0x1,%bl
4051fa:	8b 8d c8 fd ff ff    	mov    -0x238(%ebp),%ecx
405200:	83 f9 08             	cmp    $0x8,%ecx
405203:	72 35                	jb     0x40523a
405205:	8b 95 b4 fd ff ff    	mov    -0x24c(%ebp),%edx
40520b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405212:	8b c2                	mov    %edx,%eax
405214:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40521a:	72 14                	jb     0x405230
40521c:	8b 50 fc             	mov    -0x4(%eax),%edx
40521f:	83 c1 23             	add    $0x23,%ecx
405222:	2b c2                	sub    %edx,%eax
405224:	83 c0 fc             	add    $0xfffffffc,%eax
405227:	83 f8 1f             	cmp    $0x1f,%eax
40522a:	0f 87 c9 01 00 00    	ja     0x4053f9
405230:	51                   	push   %ecx
405231:	52                   	push   %edx
405232:	e8 d7 66 01 00       	call   0x41b90e
405237:	83 c4 08             	add    $0x8,%esp
40523a:	84 db                	test   %bl,%bl
40523c:	75 07                	jne    0x405245
40523e:	32 c0                	xor    %al,%al
405240:	e9 96 01 00 00       	jmp    0x4053db
405245:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40524b:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
405252:	00 00 00
405255:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
40525c:	00 00 00
40525f:	8d 51 02             	lea    0x2(%ecx),%edx
405262:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
405269:	00 00 00
40526c:	0f 1f 40 00          	nopl   0x0(%eax)
405270:	66 8b 01             	mov    (%ecx),%ax
405273:	83 c1 02             	add    $0x2,%ecx
405276:	66 85 c0             	test   %ax,%ax
405279:	75 f5                	jne    0x405270
40527b:	2b ca                	sub    %edx,%ecx
40527d:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
405283:	d1 f9                	sar    $1,%ecx
405285:	51                   	push   %ecx
405286:	50                   	push   %eax
405287:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40528d:	e8 7e d2 ff ff       	call   0x402510
405292:	8b ce                	mov    %esi,%ecx
405294:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40529b:	c7 85 9c fd ff ff 00 	movl   $0x0,-0x264(%ebp)
4052a2:	00 00 00
4052a5:	c7 85 ac fd ff ff 00 	movl   $0x0,-0x254(%ebp)
4052ac:	00 00 00
4052af:	c7 85 b0 fd ff ff 00 	movl   $0x0,-0x250(%ebp)
4052b6:	00 00 00
4052b9:	8d 51 02             	lea    0x2(%ecx),%edx
4052bc:	0f 1f 40 00          	nopl   0x0(%eax)
4052c0:	66 8b 01             	mov    (%ecx),%ax
4052c3:	83 c1 02             	add    $0x2,%ecx
4052c6:	66 85 c0             	test   %ax,%ax
4052c9:	75 f5                	jne    0x4052c0
4052cb:	2b ca                	sub    %edx,%ecx
4052cd:	d1 f9                	sar    $1,%ecx
4052cf:	51                   	push   %ecx
4052d0:	56                   	push   %esi
4052d1:	8d 8d 9c fd ff ff    	lea    -0x264(%ebp),%ecx
4052d7:	e8 34 d2 ff ff       	call   0x402510
4052dc:	8d 95 9c fd ff ff    	lea    -0x264(%ebp),%edx
4052e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4052e6:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
4052ec:	e8 5f f6 00 00       	call   0x414950
4052f1:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4052f5:	8a d8                	mov    %al,%bl
4052f7:	8b 8d b0 fd ff ff    	mov    -0x250(%ebp),%ecx
4052fd:	83 f9 08             	cmp    $0x8,%ecx
405300:	72 35                	jb     0x405337
405302:	8b 95 9c fd ff ff    	mov    -0x264(%ebp),%edx