405ffd:	cc                   	int3
405ffe:	cc                   	int3
405fff:	cc                   	int3
406000:	55                   	push   %ebp
406001:	8b ec                	mov    %esp,%ebp
406003:	83 e4 f8             	and    $0xfffffff8,%esp
406006:	8b 45 08             	mov    0x8(%ebp),%eax
406009:	83 ec 1c             	sub    $0x1c,%esp
40600c:	83 e0 17             	and    $0x17,%eax
40600f:	89 41 0c             	mov    %eax,0xc(%ecx)
406012:	8b 49 10             	mov    0x10(%ecx),%ecx
406015:	56                   	push   %esi
406016:	23 c8                	and    %eax,%ecx
406018:	74 08                	je     0x406022
40601a:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40601e:	74 12                	je     0x406032
406020:	eb 07                	jmp    0x406029
406022:	5e                   	pop    %esi
406023:	8b e5                	mov    %ebp,%esp
406025:	5d                   	pop    %ebp
406026:	c2 08 00             	ret    $0x8
406029:	6a 00                	push   $0x0
40602b:	6a 00                	push   $0x0
40602d:	e8 dc 55 01 00       	call   0x41b60e
406032:	f6 c1 04             	test   $0x4,%cl
406035:	74 07                	je     0x40603e
406037:	be 90 ed 44 00       	mov    $0x44ed90,%esi
40603c:	eb 10                	jmp    0x40604e
40603e:	f6 c1 02             	test   $0x2,%cl
406041:	be a8 ed 44 00       	mov    $0x44eda8,%esi
406046:	b8 c0 ed 44 00       	mov    $0x44edc0,%eax
40604b:	0f 44 f0             	cmove  %eax,%esi
40604e:	8d 44 24 04          	lea    0x4(%esp),%eax
406052:	6a 01                	push   $0x1
406054:	50                   	push   %eax
406055:	e8 c6 f8 ff ff       	call   0x405920
40605a:	83 c4 08             	add    $0x8,%esp
40605d:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
406061:	50                   	push   %eax
406062:	56                   	push   %esi
406063:	e8 b8 fe ff ff       	call   0x405f20
406068:	68 90 35 45 00       	push   $0x453590
40606d:	8d 44 24 10          	lea    0x10(%esp),%eax
406071:	50                   	push   %eax
406072:	e8 97 55 01 00       	call   0x41b60e
406077:	cc                   	int3
406078:	cc                   	int3
406079:	cc                   	int3
40607a:	cc                   	int3
40607b:	cc                   	int3
40607c:	cc                   	int3
40607d:	cc                   	int3
40607e:	cc                   	int3
40607f:	cc                   	int3
406080:	55                   	push   %ebp
406081:	8b ec                	mov    %esp,%ebp
406083:	6a ff                	push   $0xffffffff
406085:	68 80 bc 43 00       	push   $0x43bc80
40608a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406090:	50                   	push   %eax
406091:	56                   	push   %esi
406092:	57                   	push   %edi
406093:	a1 14 50 45 00       	mov    0x455014,%eax
406098:	33 c5                	xor    %ebp,%eax
40609a:	50                   	push   %eax
40609b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40609e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4060a4:	8b f9                	mov    %ecx,%edi
4060a6:	6a 00                	push   $0x0
4060a8:	6a 00                	push   $0x0
4060aa:	c7 47 30 00 00 00 00 	movl   $0x0,0x30(%edi)
4060b1:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
4060b8:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
4060bf:	c7 47 14 01 02 00 00 	movl   $0x201,0x14(%edi)
4060c6:	c7 47 18 06 00 00 00 	movl   $0x6,0x18(%edi)
4060cd:	c7 47 1c 00 00 00 00 	movl   $0x0,0x1c(%edi)
4060d4:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
4060db:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
4060e2:	c7 47 28 00 00 00 00 	movl   $0x0,0x28(%edi)
4060e9:	c7 47 2c 00 00 00 00 	movl   $0x0,0x2c(%edi)
4060f0:	e8 0b ff ff ff       	call   0x406000
4060f5:	6a 08                	push   $0x8
4060f7:	e8 ca 3a 01 00       	call   0x419bc6
4060fc:	8b f0                	mov    %eax,%esi
4060fe:	0f 57 c0             	xorps  %xmm0,%xmm0
406101:	66 0f d6 06          	movq   %xmm0,(%esi)
406105:	6a 01                	push   $0x1
406107:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40610e:	e8 01 30 01 00       	call   0x419114
406113:	89 46 04             	mov    %eax,0x4(%esi)
406116:	83 c4 08             	add    $0x8,%esp
406119:	89 77 30             	mov    %esi,0x30(%edi)
40611c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40611f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406126:	59                   	pop    %ecx
406127:	5f                   	pop    %edi
406128:	5e                   	pop    %esi
406129:	8b e5                	mov    %ebp,%esp
40612b:	5d                   	pop    %ebp
40612c:	c3                   	ret
40612d:	cc                   	int3
40612e:	cc                   	int3
40612f:	cc                   	int3
406130:	cc                   	int3
406131:	cc                   	int3
406132:	cc                   	int3
406133:	cc                   	int3
406134:	cc                   	int3
406135:	cc                   	int3
406136:	cc                   	int3
406137:	cc                   	int3
406138:	cc                   	int3
406139:	cc                   	int3
40613a:	cc                   	int3
40613b:	cc                   	int3
40613c:	cc                   	int3
40613d:	cc                   	int3
40613e:	cc                   	int3
40613f:	cc                   	int3
406140:	55                   	push   %ebp
406141:	8b ec                	mov    %esp,%ebp
406143:	56                   	push   %esi
406144:	8b 75 08             	mov    0x8(%ebp),%esi
406147:	0f 57 c0             	xorps  %xmm0,%xmm0
40614a:	57                   	push   %edi
40614b:	8b f9                	mov    %ecx,%edi
40614d:	8d 47 04             	lea    0x4(%edi),%eax
406150:	50                   	push   %eax
406151:	c7 07 e4 e8 43 00    	movl   $0x43e8e4,(%edi)
406157:	66 0f d6 00          	movq   %xmm0,(%eax)
40615b:	8d 46 04             	lea    0x4(%esi),%eax
40615e:	50                   	push   %eax
40615f:	e8 5a 51 01 00       	call   0x41b2be
406164:	c7 07 44 f6 43 00    	movl   $0x43f644,(%edi)
40616a:	83 c4 08             	add    $0x8,%esp
40616d:	8b 46 0c             	mov    0xc(%esi),%eax
406170:	8b 4e 10             	mov    0x10(%esi),%ecx
406173:	89 47 0c             	mov    %eax,0xc(%edi)
406176:	8b c7                	mov    %edi,%eax
406178:	89 4f 10             	mov    %ecx,0x10(%edi)
40617b:	c7 07 b8 f6 43 00    	movl   $0x43f6b8,(%edi)
406181:	5f                   	pop    %edi
406182:	5e                   	pop    %esi
406183:	5d                   	pop    %ebp
406184:	c2 04 00             	ret    $0x4
406187:	cc                   	int3
406188:	cc                   	int3
406189:	cc                   	int3
40618a:	cc                   	int3
40618b:	cc                   	int3
40618c:	cc                   	int3
40618d:	cc                   	int3
40618e:	cc                   	int3
40618f:	cc                   	int3
406190:	55                   	push   %ebp
406191:	8b ec                	mov    %esp,%ebp
406193:	6a ff                	push   $0xffffffff
406195:	68 a0 bc 43 00       	push   $0x43bca0
40619a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4061a0:	50                   	push   %eax
4061a1:	56                   	push   %esi
4061a2:	a1 14 50 45 00       	mov    0x455014,%eax
4061a7:	33 c5                	xor    %ebp,%eax
4061a9:	50                   	push   %eax
4061aa:	8d 45 f4             	lea    -0xc(%ebp),%eax
4061ad:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4061b3:	8b f1                	mov    %ecx,%esi
4061b5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4061bc:	56                   	push   %esi
4061bd:	c7 06 6c ee 44 00    	movl   $0x44ee6c,(%esi)
4061c3:	e8 9a 31 01 00       	call   0x419362
4061c8:	83 c4 04             	add    $0x4,%esp
4061cb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4061cf:	74 0b                	je     0x4061dc
4061d1:	6a 38                	push   $0x38
4061d3:	56                   	push   %esi
4061d4:	e8 df 39 01 00       	call   0x419bb8
4061d9:	83 c4 08             	add    $0x8,%esp
4061dc:	8b c6                	mov    %esi,%eax
4061de:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4061e1:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4061e8:	59                   	pop    %ecx
4061e9:	5e                   	pop    %esi
4061ea:	8b e5                	mov    %ebp,%esp
4061ec:	5d                   	pop    %ebp
4061ed:	c2 04 00             	ret    $0x4
4061f0:	cc                   	int3
4061f1:	cc                   	int3
4061f2:	cc                   	int3
4061f3:	cc                   	int3
4061f4:	cc                   	int3
4061f5:	cc                   	int3
4061f6:	cc                   	int3
4061f7:	cc                   	int3
4061f8:	cc                   	int3
4061f9:	cc                   	int3
4061fa:	cc                   	int3
4061fb:	cc                   	int3
4061fc:	cc                   	int3
4061fd:	cc                   	int3
4061fe:	cc                   	int3
4061ff:	cc                   	int3
406200:	55                   	push   %ebp
406201:	8b ec                	mov    %esp,%ebp
406203:	51                   	push   %ecx
406204:	53                   	push   %ebx
406205:	56                   	push   %esi
406206:	57                   	push   %edi
406207:	8b 7d 08             	mov    0x8(%ebp),%edi
40620a:	8b da                	mov    %edx,%ebx
40620c:	8b f1                	mov    %ecx,%esi
40620e:	33 c0                	xor    %eax,%eax
406210:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
406214:	8b d3                	mov    %ebx,%edx
406216:	72 02                	jb     0x40621a
406218:	8b 13                	mov    (%ebx),%edx
40621a:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40621e:	8b ce                	mov    %esi,%ecx
406220:	72 02                	jb     0x406224
406222:	8b 0e                	mov    (%esi),%ecx
406224:	ff 73 10             	push   0x10(%ebx)
406227:	52                   	push   %edx
406228:	8b 56 10             	mov    0x10(%esi),%edx
40622b:	50                   	push   %eax
40622c:	e8 bf ee ff ff       	call   0x4050f0
406231:	83 c4 0c             	add    $0xc,%esp
406234:	89 45 fc             	mov    %eax,-0x4(%ebp)
406237:	83 f8 ff             	cmp    $0xffffffff,%eax
40623a:	74 21                	je     0x40625d
40623c:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
406240:	8b cf                	mov    %edi,%ecx
406242:	72 02                	jb     0x406246
406244:	8b 0f                	mov    (%edi),%ecx
406246:	ff 77 10             	push   0x10(%edi)
406249:	51                   	push   %ecx
40624a:	ff 73 10             	push   0x10(%ebx)
40624d:	8b ce                	mov    %esi,%ecx
40624f:	50                   	push   %eax
406250:	e8 9b ea ff ff       	call   0x404cf0
406255:	8b 45 fc             	mov    -0x4(%ebp),%eax
406258:	03 47 10             	add    0x10(%edi),%eax
40625b:	eb b3                	jmp    0x406210
40625d:	5f                   	pop    %edi
40625e:	5e                   	pop    %esi
40625f:	5b                   	pop    %ebx
406260:	8b e5                	mov    %ebp,%esp
406262:	5d                   	pop    %ebp
406263:	c3                   	ret
406264:	cc                   	int3
406265:	cc                   	int3
406266:	cc                   	int3
406267:	cc                   	int3
406268:	cc                   	int3
406269:	cc                   	int3
40626a:	cc                   	int3
40626b:	cc                   	int3
40626c:	cc                   	int3
40626d:	cc                   	int3
40626e:	cc                   	int3
40626f:	cc                   	int3
406270:	55                   	push   %ebp
406271:	8b ec                	mov    %esp,%ebp
406273:	6a ff                	push   $0xffffffff
406275:	68 ed bc 43 00       	push   $0x43bced
40627a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406280:	50                   	push   %eax
406281:	83 ec 50             	sub    $0x50,%esp
406284:	a1 14 50 45 00       	mov    0x455014,%eax
406289:	33 c5                	xor    %ebp,%eax
40628b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40628e:	53                   	push   %ebx
40628f:	56                   	push   %esi
406290:	57                   	push   %edi
406291:	50                   	push   %eax
406292:	8d 45 f4             	lea    -0xc(%ebp),%eax
406295:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40629b:	51                   	push   %ecx
40629c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40629f:	e8 1c d0 ff ff       	call   0x4032c0
4062a4:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
4062a8:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4062ab:	8b 55 d8             	mov    -0x28(%ebp),%edx
4062ae:	8d 7d d8             	lea    -0x28(%ebp),%edi
4062b1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4062b4:	8d 5d d8             	lea    -0x28(%ebp),%ebx
4062b7:	0f 43 ca             	cmovae %edx,%ecx
4062ba:	0f 43 fa             	cmovae %edx,%edi
4062bd:	0f 43 da             	cmovae %edx,%ebx
4062c0:	8d 04 41             	lea    (%ecx,%eax,2),%eax
4062c3:	8b f0                	mov    %eax,%esi
4062c5:	3b fe                	cmp    %esi,%edi
4062c7:	74 1e                	je     0x4062e7
4062c9:	2b df                	sub    %edi,%ebx
4062cb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4062d0:	0f b7 07             	movzwl (%edi),%eax
4062d3:	50                   	push   %eax
4062d4:	e8 c0 db 01 00       	call   0x423e99
4062d9:	66 89 04 3b          	mov    %ax,(%ebx,%edi,1)
4062dd:	83 c4 04             	add    $0x4,%esp
4062e0:	83 c7 02             	add    $0x2,%edi
4062e3:	3b fe                	cmp    %esi,%edi
4062e5:	75 e9                	jne    0x4062d0
4062e7:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4062ee:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
4062f1:	6a 00                	push   $0x0
4062f3:	68 54 9f 44 00       	push   $0x449f54
4062f8:	c7 45 a4 00 00 00 00 	movl   $0x0,-0x5c(%ebp)
4062ff:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
406306:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40630d:	e8 ee cc ff ff       	call   0x403000
406312:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406316:	8d 4d bc             	lea    -0x44(%ebp),%ecx
406319:	6a 01                	push   $0x1
40631b:	68 d8 ed 44 00       	push   $0x44edd8
406320:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
406327:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
40632e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
406335:	e8 c6 cc ff ff       	call   0x403000
40633a:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40633d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406341:	50                   	push   %eax
406342:	8d 55 bc             	lea    -0x44(%ebp),%edx
406345:	8d 4d d8             	lea    -0x28(%ebp),%ecx
406348:	e8 b3 fe ff ff       	call   0x406200
40634d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
406351:	83 c4 04             	add    $0x4,%esp
406354:	8b 4d d0             	mov    -0x30(%ebp),%ecx
406357:	83 f9 08             	cmp    $0x8,%ecx
40635a:	72 32                	jb     0x40638e
40635c:	8b 55 bc             	mov    -0x44(%ebp),%edx
40635f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
406366:	8b c2                	mov    %edx,%eax
406368:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40636e:	72 14                	jb     0x406384
406370:	8b 50 fc             	mov    -0x4(%eax),%edx
406373:	83 c1 23             	add    $0x23,%ecx
406376:	2b c2                	sub    %edx,%eax
406378:	83 c0 fc             	add    $0xfffffffc,%eax
40637b:	83 f8 1f             	cmp    $0x1f,%eax
40637e:	0f 87 de 01 00 00    	ja     0x406562
406384:	51                   	push   %ecx
406385:	52                   	push   %edx
406386:	e8 2d 38 01 00       	call   0x419bb8
40638b:	83 c4 08             	add    $0x8,%esp
40638e:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
406392:	8b 4d b8             	mov    -0x48(%ebp),%ecx
406395:	83 f9 08             	cmp    $0x8,%ecx
406398:	72 32                	jb     0x4063cc
40639a:	8b 55 a4             	mov    -0x5c(%ebp),%edx
40639d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx