40bf17:	ff 15 68 e0 43 00    	call   *0x43e068
40bf1d:	8b 86 90 00 00 00    	mov    0x90(%esi),%eax
40bf23:	85 c0                	test   %eax,%eax
40bf25:	74 11                	je     0x40bf38
40bf27:	6a 04                	push   $0x4
40bf29:	50                   	push   %eax
40bf2a:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40bf30:	e8 83 dc 00 00       	call   0x419bb8
40bf35:	83 c4 08             	add    $0x8,%esp
40bf38:	c7 86 90 00 00 00 00 	movl   $0x0,0x90(%esi)
40bf3f:	00 00 00
40bf42:	8d 8e 00 01 00 00    	lea    0x100(%esi),%ecx
40bf48:	e8 43 8c ff ff       	call   0x404b90
40bf4d:	8b 8e e8 00 00 00    	mov    0xe8(%esi),%ecx
40bf53:	83 f9 08             	cmp    $0x8,%ecx
40bf56:	72 31                	jb     0x40bf89
40bf58:	8b 86 d4 00 00 00    	mov    0xd4(%esi),%eax
40bf5e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40bf65:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40bf6b:	72 12                	jb     0x40bf7f
40bf6d:	8b 50 fc             	mov    -0x4(%eax),%edx
40bf70:	83 c1 23             	add    $0x23,%ecx
40bf73:	2b c2                	sub    %edx,%eax
40bf75:	83 c0 fc             	add    $0xfffffffc,%eax
40bf78:	83 f8 1f             	cmp    $0x1f,%eax
40bf7b:	77 56                	ja     0x40bfd3
40bf7d:	8b c2                	mov    %edx,%eax
40bf7f:	51                   	push   %ecx
40bf80:	50                   	push   %eax
40bf81:	e8 32 dc 00 00       	call   0x419bb8
40bf86:	83 c4 08             	add    $0x8,%esp
40bf89:	33 c0                	xor    %eax,%eax
40bf8b:	c7 86 e4 00 00 00 00 	movl   $0x0,0xe4(%esi)
40bf92:	00 00 00
40bf95:	8d 8e 94 00 00 00    	lea    0x94(%esi),%ecx
40bf9b:	c7 86 e8 00 00 00 07 	movl   $0x7,0xe8(%esi)
40bfa2:	00 00 00
40bfa5:	66 89 86 d4 00 00 00 	mov    %ax,0xd4(%esi)
40bfac:	e8 2f 00 00 00       	call   0x40bfe0
40bfb1:	8b ce                	mov    %esi,%ecx
40bfb3:	e8 d8 51 00 00       	call   0x411190
40bfb8:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40bfbc:	74 0e                	je     0x40bfcc
40bfbe:	68 10 01 00 00       	push   $0x110
40bfc3:	56                   	push   %esi
40bfc4:	e8 ef db 00 00       	call   0x419bb8
40bfc9:	83 c4 08             	add    $0x8,%esp
40bfcc:	8b c6                	mov    %esi,%eax
40bfce:	5e                   	pop    %esi
40bfcf:	5d                   	pop    %ebp
40bfd0:	c2 04 00             	ret    $0x4
40bfd3:	e8 bb 39 01 00       	call   0x41f993
40bfd8:	cc                   	int3
40bfd9:	cc                   	int3
40bfda:	cc                   	int3
40bfdb:	cc                   	int3
40bfdc:	cc                   	int3
40bfdd:	cc                   	int3
40bfde:	cc                   	int3
40bfdf:	cc                   	int3
40bfe0:	56                   	push   %esi
40bfe1:	8b f1                	mov    %ecx,%esi
40bfe3:	8b 4e 34             	mov    0x34(%esi),%ecx
40bfe6:	83 f9 08             	cmp    $0x8,%ecx
40bfe9:	72 2e                	jb     0x40c019
40bfeb:	8b 46 20             	mov    0x20(%esi),%eax
40bfee:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40bff5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40bffb:	72 12                	jb     0x40c00f
40bffd:	8b 50 fc             	mov    -0x4(%eax),%edx
40c000:	83 c1 23             	add    $0x23,%ecx
40c003:	2b c2                	sub    %edx,%eax
40c005:	83 c0 fc             	add    $0xfffffffc,%eax
40c008:	83 f8 1f             	cmp    $0x1f,%eax
40c00b:	77 73                	ja     0x40c080
40c00d:	8b c2                	mov    %edx,%eax
40c00f:	51                   	push   %ecx
40c010:	50                   	push   %eax
40c011:	e8 a2 db 00 00       	call   0x419bb8
40c016:	83 c4 08             	add    $0x8,%esp
40c019:	8d 4e 18             	lea    0x18(%esi),%ecx
40c01c:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
40c023:	33 c0                	xor    %eax,%eax
40c025:	c7 46 34 07 00 00 00 	movl   $0x7,0x34(%esi)
40c02c:	51                   	push   %ecx
40c02d:	66 89 46 20          	mov    %ax,0x20(%esi)
40c031:	e8 fa 3c 00 00       	call   0x40fd30
40c036:	8b 4e 14             	mov    0x14(%esi),%ecx
40c039:	83 f9 08             	cmp    $0x8,%ecx
40c03c:	72 2d                	jb     0x40c06b
40c03e:	8b 06                	mov    (%esi),%eax
40c040:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c047:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c04d:	72 12                	jb     0x40c061
40c04f:	8b 50 fc             	mov    -0x4(%eax),%edx
40c052:	83 c1 23             	add    $0x23,%ecx
40c055:	2b c2                	sub    %edx,%eax
40c057:	83 c0 fc             	add    $0xfffffffc,%eax
40c05a:	83 f8 1f             	cmp    $0x1f,%eax
40c05d:	77 21                	ja     0x40c080
40c05f:	8b c2                	mov    %edx,%eax
40c061:	51                   	push   %ecx
40c062:	50                   	push   %eax
40c063:	e8 50 db 00 00       	call   0x419bb8
40c068:	83 c4 08             	add    $0x8,%esp
40c06b:	33 c0                	xor    %eax,%eax
40c06d:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40c074:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40c07b:	66 89 06             	mov    %ax,(%esi)
40c07e:	5e                   	pop    %esi
40c07f:	c3                   	ret
40c080:	e8 0e 39 01 00       	call   0x41f993
40c085:	cc                   	int3
40c086:	cc                   	int3
40c087:	cc                   	int3
40c088:	cc                   	int3
40c089:	cc                   	int3
40c08a:	cc                   	int3
40c08b:	cc                   	int3
40c08c:	cc                   	int3
40c08d:	cc                   	int3
40c08e:	cc                   	int3
40c08f:	cc                   	int3
40c090:	55                   	push   %ebp
40c091:	8b ec                	mov    %esp,%ebp
40c093:	83 e4 f8             	and    $0xfffffff8,%esp
40c096:	83 ec 0c             	sub    $0xc,%esp
40c099:	a1 14 50 45 00       	mov    0x455014,%eax
40c09e:	33 c4                	xor    %esp,%eax
40c0a0:	89 44 24 08          	mov    %eax,0x8(%esp)
40c0a4:	53                   	push   %ebx
40c0a5:	8b d9                	mov    %ecx,%ebx
40c0a7:	56                   	push   %esi
40c0a8:	57                   	push   %edi
40c0a9:	8b 7d 08             	mov    0x8(%ebp),%edi
40c0ac:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
40c0b3:	75 7d                	jne    0x40c132
40c0b5:	33 c0                	xor    %eax,%eax
40c0b7:	83 7b 60 08          	cmpl   $0x8,0x60(%ebx)
40c0bb:	66 89 44 24 0c       	mov    %ax,0xc(%esp)
40c0c0:	89 44 24 10          	mov    %eax,0x10(%esp)
40c0c4:	8d 43 4c             	lea    0x4c(%ebx),%eax
40c0c7:	72 02                	jb     0x40c0cb
40c0c9:	8b 00                	mov    (%eax),%eax
40c0cb:	68 78 ef 44 00       	push   $0x44ef78
40c0d0:	50                   	push   %eax
40c0d1:	8d 44 24 18          	lea    0x18(%esp),%eax
40c0d5:	50                   	push   %eax
40c0d6:	e8 ef 75 01 00       	call   0x4236ca
40c0db:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40c0df:	83 c4 0c             	add    $0xc,%esp
40c0e2:	85 c0                	test   %eax,%eax
40c0e4:	74 4c                	je     0x40c132
40c0e6:	50                   	push   %eax
40c0e7:	6a 02                	push   $0x2
40c0e9:	8d 44 24 14          	lea    0x14(%esp),%eax
40c0ed:	6a 01                	push   $0x1
40c0ef:	50                   	push   %eax
40c0f0:	e8 7c 81 01 00       	call   0x424271
40c0f5:	ff 74 24 20          	push   0x20(%esp)
40c0f9:	e8 38 77 01 00       	call   0x423836
40c0fe:	66 8b 44 24 20       	mov    0x20(%esp),%ax
40c103:	83 c4 14             	add    $0x14,%esp
40c106:	3c ff                	cmp    $0xff,%al
40c108:	75 05                	jne    0x40c10f
40c10a:	80 fc fe             	cmp    $0xfe,%ah
40c10d:	74 23                	je     0x40c132
40c10f:	80 fc ff             	cmp    $0xff,%ah
40c112:	75 04                	jne    0x40c118
40c114:	3c fe                	cmp    $0xfe,%al
40c116:	74 1a                	je     0x40c132
40c118:	8b 07                	mov    (%edi),%eax
40c11a:	85 c0                	test   %eax,%eax
40c11c:	74 0d                	je     0x40c12b
40c11e:	50                   	push   %eax
40c11f:	ff 15 68 e0 43 00    	call   *0x43e068
40c125:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40c12b:	8b cb                	mov    %ebx,%ecx
40c12d:	e8 1e 2f 00 00       	call   0x40f050
40c132:	8d 73 4c             	lea    0x4c(%ebx),%esi
40c135:	6a 01                	push   $0x1
40c137:	8b ce                	mov    %esi,%ecx
40c139:	e8 82 89 00 00       	call   0x414ac0
40c13e:	83 c4 04             	add    $0x4,%esp
40c141:	85 c0                	test   %eax,%eax
40c143:	74 1a                	je     0x40c15f
40c145:	83 f8 01             	cmp    $0x1,%eax
40c148:	75 67                	jne    0x40c1b1
40c14a:	51                   	push   %ecx
40c14b:	8b ce                	mov    %esi,%ecx
40c14d:	e8 7e 88 ff ff       	call   0x4049d0
40c152:	83 c4 04             	add    $0x4,%esp
40c155:	84 c0                	test   %al,%al
40c157:	74 58                	je     0x40c1b1
40c159:	c7 07 ff ff ff ff    	movl   $0xffffffff,(%edi)
40c15f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40c163:	8b c6                	mov    %esi,%eax
40c165:	72 02                	jb     0x40c169
40c167:	8b 06                	mov    (%esi),%eax
40c169:	6a 00                	push   $0x0
40c16b:	68 80 00 20 00       	push   $0x200080
40c170:	6a 03                	push   $0x3
40c172:	6a 00                	push   $0x0
40c174:	6a 03                	push   $0x3
40c176:	68 00 00 00 40       	push   $0x40000000
40c17b:	50                   	push   %eax
40c17c:	ff 15 b8 e0 43 00    	call   *0x43e0b8
40c182:	89 07                	mov    %eax,(%edi)
40c184:	83 f8 ff             	cmp    $0xffffffff,%eax
40c187:	75 7f                	jne    0x40c208
40c189:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40c18d:	72 02                	jb     0x40c191
40c18f:	8b 36                	mov    (%esi),%esi
40c191:	6a 00                	push   $0x0
40c193:	68 80 00 20 00       	push   $0x200080
40c198:	6a 01                	push   $0x1
40c19a:	6a 00                	push   $0x0
40c19c:	6a 03                	push   $0x3
40c19e:	68 00 00 00 40       	push   $0x40000000
40c1a3:	56                   	push   %esi
40c1a4:	ff 15 b8 e0 43 00    	call   *0x43e0b8
40c1aa:	89 07                	mov    %eax,(%edi)
40c1ac:	83 f8 ff             	cmp    $0xffffffff,%eax
40c1af:	75 16                	jne    0x40c1c7
40c1b1:	32 c0                	xor    %al,%al
40c1b3:	5f                   	pop    %edi
40c1b4:	5e                   	pop    %esi
40c1b5:	5b                   	pop    %ebx
40c1b6:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40c1ba:	33 cc                	xor    %esp,%ecx
40c1bc:	e8 e9 d9 00 00       	call   0x419baa
40c1c1:	8b e5                	mov    %ebp,%esp
40c1c3:	5d                   	pop    %ebp
40c1c4:	c2 04 00             	ret    $0x4
40c1c7:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
40c1ce:	6a 00                	push   $0x0
40c1d0:	75 17                	jne    0x40c1e9
40c1d2:	b9 ff fe 00 00       	mov    $0xfeff,%ecx
40c1d7:	66 89 4c 24 10       	mov    %cx,0x10(%esp)
40c1dc:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c1e0:	51                   	push   %ecx
40c1e1:	6a 02                	push   $0x2
40c1e3:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40c1e7:	eb 17                	jmp    0x40c200
40c1e9:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c1ed:	66 c7 44 24 10 ef bb 	movw   $0xbbef,0x10(%esp)
40c1f4:	51                   	push   %ecx
40c1f5:	c6 44 24 16 bf       	movb   $0xbf,0x16(%esp)
40c1fa:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40c1fe:	6a 03                	push   $0x3
40c200:	51                   	push   %ecx
40c201:	50                   	push   %eax
40c202:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c208:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40c20c:	b0 01                	mov    $0x1,%al
40c20e:	5f                   	pop    %edi
40c20f:	5e                   	pop    %esi
40c210:	5b                   	pop    %ebx
40c211:	33 cc                	xor    %esp,%ecx
40c213:	e8 92 d9 00 00       	call   0x419baa
40c218:	8b e5                	mov    %ebp,%esp
40c21a:	5d                   	pop    %ebp
40c21b:	c2 04 00             	ret    $0x4
40c21e:	cc                   	int3
40c21f:	cc                   	int3
40c220:	55                   	push   %ebp
40c221:	8b ec                	mov    %esp,%ebp
40c223:	6a ff                	push   $0xffffffff
40c225:	68 8b c3 43 00       	push   $0x43c38b
40c22a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c230:	50                   	push   %eax
40c231:	81 ec 54 02 00 00    	sub    $0x254,%esp
40c237:	a1 14 50 45 00       	mov    0x455014,%eax
40c23c:	33 c5                	xor    %ebp,%eax
40c23e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c241:	53                   	push   %ebx
40c242:	56                   	push   %esi
40c243:	57                   	push   %edi
40c244:	50                   	push   %eax
40c245:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c248:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40c24e:	8b f9                	mov    %ecx,%edi
40c250:	8b 75 08             	mov    0x8(%ebp),%esi
40c253:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c259:	50                   	push   %eax
40c25a:	68 04 01 00 00       	push   $0x104
40c25f:	ff 15 ac e0 43 00    	call   *0x43e0ac
40c265:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c26b:	50                   	push   %eax
40c26c:	ff 15 14 e2 43 00    	call   *0x43e214
40c272:	85 c0                	test   %eax,%eax
40c274:	0f 85 bb 00 00 00    	jne    0x40c335
40c27a:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40c280:	89 85 b8 fd ff ff    	mov    %eax,-0x248(%ebp)
40c286:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
40c28c:	8d 51 02             	lea    0x2(%ecx),%edx
40c28f:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
40c295:	66 8b 01             	mov    (%ecx),%ax
40c298:	83 c1 02             	add    $0x2,%ecx
40c29b:	66 85 c0             	test   %ax,%ax
40c29e:	75 f5                	jne    0x40c295
40c2a0:	2b ca                	sub    %edx,%ecx
40c2a2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40c2a8:	d1 f9                	sar    $1,%ecx
40c2aa:	51                   	push   %ecx
40c2ab:	50                   	push   %eax
40c2ac:	8d 8d b8 fd ff ff    	lea    -0x248(%ebp),%ecx
40c2b2:	e8 49 6d ff ff       	call   0x403000
40c2b7:	32 db                	xor    %bl,%bl
40c2b9:	8d 85 b8 fd ff ff    	lea    -0x248(%ebp),%eax
40c2bf:	83 bd cc fd ff ff 08 	cmpl   $0x8,-0x234(%ebp)
40c2c6:	6a 00                	push   $0x0
40c2c8:	0f 43 85 b8 fd ff ff 	cmovae -0x248(%ebp),%eax
40c2cf:	50                   	push   %eax
40c2d0:	6a 00                	push   $0x0
40c2d2:	ff 15 08 e2 43 00    	call   *0x43e208
40c2d8:	85 c0                	test   %eax,%eax
40c2da:	74 0c                	je     0x40c2e8
40c2dc:	3d b7 00 00 00       	cmp    $0xb7,%eax
40c2e1:	74 05                	je     0x40c2e8
40c2e3:	83 f8 50             	cmp    $0x50,%eax
40c2e6:	75 02                	jne    0x40c2ea
40c2e8:	b3 01                	mov    $0x1,%bl
40c2ea:	8b 8d cc fd ff ff    	mov    -0x234(%ebp),%ecx
40c2f0:	83 f9 08             	cmp    $0x8,%ecx
40c2f3:	72 35                	jb     0x40c32a
40c2f5:	8b 95 b8 fd ff ff    	mov    -0x248(%ebp),%edx
40c2fb:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40c302:	8b c2                	mov    %edx,%eax
40c304:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40c30a:	72 14                	jb     0x40c320
40c30c:	8b 50 fc             	mov    -0x4(%eax),%edx
40c30f:	83 c1 23             	add    $0x23,%ecx
40c312:	2b c2                	sub    %edx,%eax
40c314:	83 c0 fc             	add    $0xfffffffc,%eax
40c317:	83 f8 1f             	cmp    $0x1f,%eax
40c31a:	0f 87 90 01 00 00    	ja     0x40c4b0
40c320:	51                   	push   %ecx
40c321:	52                   	push   %edx
40c322:	e8 91 d8 00 00       	call   0x419bb8
40c327:	83 c4 08             	add    $0x8,%esp
40c32a:	84 db                	test   %bl,%bl
40c32c:	75 07                	jne    0x40c335
40c32e:	32 c0                	xor    %al,%al
40c330:	e9 5d 01 00 00       	jmp    0x40c492
40c335:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40c33b:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
40c342:	00 00 00
40c345:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
40c34c:	00 00 00