402fd5:	8b b5 f0 fd ff ff    	mov    -0x210(%ebp),%esi
402fdb:	39 7e f4             	cmp    %edi,-0xc(%esi)
402fde:	74 54                	je     0x403034
402fe0:	83 7e f4 07          	cmpl   $0x7,-0xc(%esi)
402fe4:	7c 4e                	jl     0x403034
402fe6:	57                   	push   %edi
402fe7:	8d 85 e4 fd ff ff    	lea    -0x21c(%ebp),%eax
402fed:	50                   	push   %eax
402fee:	57                   	push   %edi
402fef:	6a 03                	push   $0x3
402ff1:	57                   	push   %edi
402ff2:	57                   	push   %edi
402ff3:	57                   	push   %edi
402ff4:	68 20 29 42 00       	push   $0x422920
402ff9:	68 02 00 00 80       	push   $0x80000002
402ffe:	ff 15 68 c0 41 00    	call   *0x41c068
403004:	85 c0                	test   %eax,%eax
403006:	75 2c                	jne    0x403034
403008:	8b 46 f4             	mov    -0xc(%esi),%eax
40300b:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
403012:	50                   	push   %eax
403013:	56                   	push   %esi
403014:	6a 01                	push   $0x1
403016:	57                   	push   %edi
403017:	68 50 2a 42 00       	push   $0x422a50
40301c:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
403022:	ff 15 6c c0 41 00    	call   *0x41c06c
403028:	ff b5 e4 fd ff ff    	push   -0x21c(%ebp)
40302e:	ff 15 60 c0 41 00    	call   *0x41c060
403034:	8d 4e f0             	lea    -0x10(%esi),%ecx
403037:	e8 c6 e2 ff ff       	call   0x401302
40303c:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
403042:	e8 f4 1b 00 00       	call   0x404c3b
403047:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40304a:	5f                   	pop    %edi
40304b:	33 cd                	xor    %ebp,%ecx
40304d:	5e                   	pop    %esi
40304e:	e8 a2 5b 00 00       	call   0x408bf5
403053:	c9                   	leave
403054:	c3                   	ret
403055:	55                   	push   %ebp
403056:	8b ec                	mov    %esp,%ebp
403058:	81 ec 14 02 00 00    	sub    $0x214,%esp
40305e:	a1 18 60 42 00       	mov    0x426018,%eax
403063:	33 c5                	xor    %ebp,%eax
403065:	89 45 fc             	mov    %eax,-0x4(%ebp)
403068:	53                   	push   %ebx
403069:	56                   	push   %esi
40306a:	57                   	push   %edi
40306b:	bf 04 01 00 00       	mov    $0x104,%edi
403070:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403076:	57                   	push   %edi
403077:	50                   	push   %eax
403078:	33 db                	xor    %ebx,%ebx
40307a:	8b f1                	mov    %ecx,%esi
40307c:	53                   	push   %ebx
40307d:	ff 15 84 c0 41 00    	call   *0x41c084
403083:	85 c0                	test   %eax,%eax
403085:	74 6d                	je     0x4030f4
403087:	3b c7                	cmp    %edi,%eax
403089:	73 69                	jae    0x4030f4
40308b:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403091:	89 9d f0 fd ff ff    	mov    %ebx,-0x210(%ebp)
403097:	50                   	push   %eax
403098:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40309e:	e8 c5 05 00 00       	call   0x403668
4030a3:	ff 36                	push   (%esi)
4030a5:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
4030ab:	68 90 28 42 00       	push   $0x422890
4030b0:	50                   	push   %eax
4030b1:	e8 ce e5 ff ff       	call   0x401684
4030b6:	83 c4 08             	add    $0x8,%esp
4030b9:	89 9d ec fd ff ff    	mov    %ebx,-0x214(%ebp)
4030bf:	8d 95 ec fd ff ff    	lea    -0x214(%ebp),%edx
4030c5:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
4030cb:	53                   	push   %ebx
4030cc:	e8 92 17 00 00       	call   0x404863
4030d1:	0f b6 f0             	movzbl %al,%esi
4030d4:	f7 de                	neg    %esi
4030d6:	59                   	pop    %ecx
4030d7:	1b f6                	sbb    %esi,%esi
4030d9:	59                   	pop    %ecx
4030da:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
4030e0:	f7 d6                	not    %esi
4030e2:	23 b5 ec fd ff ff    	and    -0x214(%ebp),%esi
4030e8:	83 c1 f0             	add    $0xfffffff0,%ecx
4030eb:	e8 12 e2 ff ff       	call   0x401302
4030f0:	8b c6                	mov    %esi,%eax
4030f2:	eb 06                	jmp    0x4030fa
4030f4:	ff 15 48 c1 41 00    	call   *0x41c148
4030fa:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4030fd:	5f                   	pop    %edi
4030fe:	5e                   	pop    %esi
4030ff:	33 cd                	xor    %ebp,%ecx
403101:	5b                   	pop    %ebx
403102:	e8 ee 5a 00 00       	call   0x408bf5
403107:	c9                   	leave
403108:	c3                   	ret
403109:	55                   	push   %ebp
40310a:	8b ec                	mov    %esp,%ebp
40310c:	83 ec 58             	sub    $0x58,%esp
40310f:	a1 18 60 42 00       	mov    0x426018,%eax
403114:	33 c5                	xor    %ebp,%eax
403116:	89 45 fc             	mov    %eax,-0x4(%ebp)
403119:	53                   	push   %ebx
40311a:	56                   	push   %esi
40311b:	57                   	push   %edi
40311c:	8b 7d 10             	mov    0x10(%ebp),%edi
40311f:	68 10 27 42 00       	push   $0x422710
403124:	68 f4 26 42 00       	push   $0x4226f4
403129:	ff 15 58 c1 41 00    	call   *0x41c158
40312f:	50                   	push   %eax
403130:	ff 15 1c c1 41 00    	call   *0x41c11c
403136:	8b f0                	mov    %eax,%esi
403138:	85 f6                	test   %esi,%esi
40313a:	74 0f                	je     0x40314b
40313c:	68 00 08 00 00       	push   $0x800
403141:	8b ce                	mov    %esi,%ecx
403143:	ff 15 50 c2 41 00    	call   *0x41c250
403149:	ff d6                	call   *%esi
40314b:	33 f6                	xor    %esi,%esi
40314d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403150:	57                   	push   %edi
403151:	89 75 f8             	mov    %esi,-0x8(%ebp)
403154:	e8 d2 04 00 00       	call   0x40362b
403159:	89 75 a8             	mov    %esi,-0x58(%ebp)
40315c:	e8 ca e1 ff ff       	call   0x40132b
403161:	50                   	push   %eax
403162:	8d 4d a8             	lea    -0x58(%ebp),%ecx
403165:	e8 92 09 00 00       	call   0x403afc
40316a:	68 dc 27 42 00       	push   $0x4227dc
40316f:	bf 60 28 42 00       	mov    $0x422860,%edi
403174:	8d 45 a8             	lea    -0x58(%ebp),%eax
403177:	57                   	push   %edi
403178:	50                   	push   %eax
403179:	e8 06 e5 ff ff       	call   0x401684
40317e:	83 c4 0c             	add    $0xc,%esp
403181:	8d 55 a8             	lea    -0x58(%ebp),%edx
403184:	8d 4d f8             	lea    -0x8(%ebp),%ecx
403187:	e8 6b e6 ff ff       	call   0x4017f7
40318c:	8b 4d a8             	mov    -0x58(%ebp),%ecx
40318f:	8a d8                	mov    %al,%bl
403191:	83 c1 f0             	add    $0xfffffff0,%ecx
403194:	e8 69 e1 ff ff       	call   0x401302
403199:	84 db                	test   %bl,%bl
40319b:	74 12                	je     0x4031af
40319d:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4031a0:	e8 b0 fe ff ff       	call   0x403055
4031a5:	8b 75 f8             	mov    -0x8(%ebp),%esi
4031a8:	8b f8                	mov    %eax,%edi
4031aa:	e9 7e 01 00 00       	jmp    0x40332d
4031af:	e8 c7 e6 ff ff       	call   0x40187b
4031b4:	8a d8                	mov    %al,%bl
4031b6:	88 5d f4             	mov    %bl,-0xc(%ebp)
4031b9:	84 db                	test   %bl,%bl
4031bb:	74 0a                	je     0x4031c7
4031bd:	e8 e3 fc ff ff       	call   0x402ea5
4031c2:	e8 7f fd ff ff       	call   0x402f46
4031c7:	89 75 a8             	mov    %esi,-0x58(%ebp)
4031ca:	e8 5c e1 ff ff       	call   0x40132b
4031cf:	50                   	push   %eax
4031d0:	8d 4d a8             	lea    -0x58(%ebp),%ecx
4031d3:	e8 24 09 00 00       	call   0x403afc
4031d8:	68 e8 27 42 00       	push   $0x4227e8
4031dd:	8d 45 a8             	lea    -0x58(%ebp),%eax
4031e0:	57                   	push   %edi
4031e1:	50                   	push   %eax
4031e2:	e8 9d e4 ff ff       	call   0x401684
4031e7:	83 c4 0c             	add    $0xc,%esp
4031ea:	8d 55 a8             	lea    -0x58(%ebp),%edx
4031ed:	8d 4d f8             	lea    -0x8(%ebp),%ecx
4031f0:	e8 02 e6 ff ff       	call   0x4017f7
4031f5:	8b 4d a8             	mov    -0x58(%ebp),%ecx
4031f8:	8a f8                	mov    %al,%bh
4031fa:	83 c1 f0             	add    $0xfffffff0,%ecx
4031fd:	e8 00 e1 ff ff       	call   0x401302
403202:	84 ff                	test   %bh,%bh
403204:	74 05                	je     0x40320b
403206:	21 75 a8             	and    %esi,-0x58(%ebp)
403209:	eb 18                	jmp    0x403223
40320b:	ba b0 1e 04 00       	mov    $0x41eb0,%edx
403210:	b9 24 2d 42 00       	mov    $0x422d24,%ecx
403215:	e8 a3 0f 00 00       	call   0x4041bd
40321a:	8b f0                	mov    %eax,%esi
40321c:	c7 45 a8 51 07 04 80 	movl   $0x80040751,-0x58(%ebp)
403223:	33 d2                	xor    %edx,%edx
403225:	b9 e4 2c 42 00       	mov    $0x422ce4,%ecx
40322a:	84 db                	test   %bl,%bl
40322c:	0f 94 c2             	sete   %dl
40322f:	4a                   	dec    %edx
403230:	81 e2 60 a5 cd ff    	and    $0xffcda560,%edx
403236:	81 c2 80 ee 36 00    	add    $0x36ee80,%edx
40323c:	e8 7c 0f 00 00       	call   0x4041bd
403241:	8b d0                	mov    %eax,%edx
403243:	84 db                	test   %bl,%bl
403245:	74 0f                	je     0x403256
403247:	84 ff                	test   %bh,%bh
403249:	74 0b                	je     0x403256
40324b:	b8 60 ea 00 00       	mov    $0xea60,%eax
403250:	3b d0                	cmp    %eax,%edx
403252:	76 02                	jbe    0x403256
403254:	8b d0                	mov    %eax,%edx
403256:	6a 07                	push   $0x7
403258:	59                   	pop    %ecx
403259:	ff 75 a8             	push   -0x58(%ebp)
40325c:	33 c0                	xor    %eax,%eax
40325e:	8d 7d d8             	lea    -0x28(%ebp),%edi
403261:	ff 75 f4             	push   -0xc(%ebp)
403264:	f3 ab                	rep stos %eax,%es:(%edi)
403266:	56                   	push   %esi
403267:	52                   	push   %edx
403268:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40326b:	e8 92 0f 00 00       	call   0x404202
403270:	6a 06                	push   $0x6
403272:	6a 00                	push   $0x0
403274:	ff 15 48 c2 41 00    	call   *0x41c248
40327a:	8b 75 f8             	mov    -0x8(%ebp),%esi
40327d:	89 45 f4             	mov    %eax,-0xc(%ebp)
403280:	85 c0                	test   %eax,%eax
403282:	78 10                	js     0x403294
403284:	51                   	push   %ecx
403285:	e8 52 e3 ff ff       	call   0x4015dc
40328a:	59                   	pop    %ecx
40328b:	84 c0                	test   %al,%al
40328d:	75 13                	jne    0x4032a2
40328f:	b8 03 07 04 80       	mov    $0x80040703,%eax
403294:	8b c8                	mov    %eax,%ecx
403296:	0f ae e8             	lfence
403299:	e8 39 fb ff ff       	call   0x402dd7
40329e:	8b f8                	mov    %eax,%edi
4032a0:	eb 7b                	jmp    0x40331d
4032a2:	6a 2c                	push   $0x2c
4032a4:	8d 45 ac             	lea    -0x54(%ebp),%eax
4032a7:	6a 00                	push   $0x0
4032a9:	50                   	push   %eax
4032aa:	e8 61 5e 00 00       	call   0x409110
4032af:	83 c4 0c             	add    $0xc,%esp
4032b2:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4032b5:	56                   	push   %esi
4032b6:	ff 75 08             	push   0x8(%ebp)
4032b9:	e8 12 e7 ff ff       	call   0x4019d0
4032be:	8d 4d ac             	lea    -0x54(%ebp),%ecx
4032c1:	e8 ad e7 ff ff       	call   0x401a73
4032c6:	8b f8                	mov    %eax,%edi
4032c8:	84 db                	test   %bl,%bl
4032ca:	74 49                	je     0x403315
4032cc:	81 ff 0d 09 04 80    	cmp    $0x8004090d,%edi
4032d2:	75 04                	jne    0x4032d8
4032d4:	33 ff                	xor    %edi,%edi
4032d6:	eb 0a                	jmp    0x4032e2
4032d8:	84 ff                	test   %bh,%bh
4032da:	75 f8                	jne    0x4032d4
4032dc:	8b f8                	mov    %eax,%edi
4032de:	85 c0                	test   %eax,%eax
4032e0:	75 33                	jne    0x403315
4032e2:	8d 45 a8             	lea    -0x58(%ebp),%eax
4032e5:	50                   	push   %eax
4032e6:	6a 02                	push   $0x2
4032e8:	6a 00                	push   $0x0
4032ea:	68 20 29 42 00       	push   $0x422920
4032ef:	68 02 00 00 80       	push   $0x80000002
4032f4:	ff 15 70 c0 41 00    	call   *0x41c070
4032fa:	85 c0                	test   %eax,%eax
4032fc:	75 17                	jne    0x403315
4032fe:	68 38 2a 42 00       	push   $0x422a38
403303:	ff 75 a8             	push   -0x58(%ebp)
403306:	ff 15 74 c0 41 00    	call   *0x41c074
40330c:	ff 75 a8             	push   -0x58(%ebp)
40330f:	ff 15 60 c0 41 00    	call   *0x41c060
403315:	8d 4d ac             	lea    -0x54(%ebp),%ecx
403318:	e8 10 e7 ff ff       	call   0x401a2d
40331d:	8d 4d f4             	lea    -0xc(%ebp),%ecx
403320:	e8 3e 01 00 00       	call   0x403463
403325:	8d 4d d8             	lea    -0x28(%ebp),%ecx
403328:	e8 bb 0f 00 00       	call   0x4042e8
40332d:	8d 4e f0             	lea    -0x10(%esi),%ecx
403330:	e8 cd df ff ff       	call   0x401302
403335:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403338:	8b c7                	mov    %edi,%eax
40333a:	5f                   	pop    %edi
40333b:	5e                   	pop    %esi
40333c:	33 cd                	xor    %ebp,%ecx
40333e:	5b                   	pop    %ebx
40333f:	e8 b1 58 00 00       	call   0x408bf5
403344:	c9                   	leave
403345:	c2 10 00             	ret    $0x10
403348:	55                   	push   %ebp
403349:	8b ec                	mov    %esp,%ebp
40334b:	56                   	push   %esi
40334c:	57                   	push   %edi
40334d:	68 04 01 00 00       	push   $0x104
403352:	8b f1                	mov    %ecx,%esi
403354:	e8 87 03 00 00       	call   0x4036e0
403359:	ff 75 08             	push   0x8(%ebp)
40335c:	50                   	push   %eax
40335d:	ff 15 04 80 42 00    	call   *0x428004
403363:	8b 0e                	mov    (%esi),%ecx
403365:	8b f8                	mov    %eax,%edi
403367:	85 c9                	test   %ecx,%ecx
403369:	74 11                	je     0x40337c
40336b:	ff 71 f8             	push   -0x8(%ecx)
40336e:	51                   	push   %ecx
40336f:	e8 e5 d7 00 00       	call   0x410b59
403374:	59                   	pop    %ecx
403375:	59                   	pop    %ecx
403376:	8b c8                	mov    %eax,%ecx
403378:	85 c9                	test   %ecx,%ecx
40337a:	78 1a                	js     0x403396
40337c:	8b 06                	mov    (%esi),%eax
40337e:	3b 48 f8             	cmp    -0x8(%eax),%ecx
403381:	7f 13                	jg     0x403396
403383:	89 48 f4             	mov    %ecx,-0xc(%eax)
403386:	33 d2                	xor    %edx,%edx
403388:	8b 06                	mov    (%esi),%eax
40338a:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
40338e:	8b c7                	mov    %edi,%eax
403390:	5f                   	pop    %edi
403391:	5e                   	pop    %esi
403392:	5d                   	pop    %ebp
403393:	c2 04 00             	ret    $0x4
403396:	68 57 00 07 80       	push   $0x80070057
40339b:	e8 1f dd ff ff       	call   0x4010bf
4033a0:	cc                   	int3
4033a1:	56                   	push   %esi
4033a2:	8b f1                	mov    %ecx,%esi
4033a4:	33 c0                	xor    %eax,%eax
4033a6:	57                   	push   %edi
4033a7:	8d 7e 04             	lea    0x4(%esi),%edi
4033aa:	39 06                	cmp    %eax,(%esi)
4033ac:	74 26                	je     0x4033d4
4033ae:	53                   	push   %ebx
4033af:	8b d8                	mov    %eax,%ebx
4033b1:	39 07                	cmp    %eax,(%edi)
4033b3:	7e 12                	jle    0x4033c7
4033b5:	8b 0e                	mov    (%esi),%ecx
4033b7:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
4033ba:	83 e9 10             	sub    $0x10,%ecx
4033bd:	e8 40 df ff ff       	call   0x401302
4033c2:	43                   	inc    %ebx
4033c3:	3b 1f                	cmp    (%edi),%ebx
4033c5:	7c ee                	jl     0x4033b5
4033c7:	ff 36                	push   (%esi)
4033c9:	e8 ad 8e 00 00       	call   0x40c27b
4033ce:	59                   	pop    %ecx
4033cf:	33 c0                	xor    %eax,%eax
4033d1:	89 06                	mov    %eax,(%esi)
4033d3:	5b                   	pop    %ebx
4033d4:	89 07                	mov    %eax,(%edi)
4033d6:	5f                   	pop    %edi
4033d7:	89 46 08             	mov    %eax,0x8(%esi)