4360ea:	75 02                	jne    0x4360ee
4360ec:	89 38                	mov    %edi,(%eax)
4360ee:	5f                   	pop    %edi
4360ef:	5e                   	pop    %esi
4360f0:	5d                   	pop    %ebp
4360f1:	c3                   	ret
4360f2:	8b ff                	mov    %edi,%edi
4360f4:	55                   	push   %ebp
4360f5:	8b ec                	mov    %esp,%ebp
4360f7:	53                   	push   %ebx
4360f8:	56                   	push   %esi
4360f9:	57                   	push   %edi
4360fa:	e8 2a 60 ff ff       	call   0x42c129
4360ff:	8b f0                	mov    %eax,%esi
436101:	33 db                	xor    %ebx,%ebx
436103:	6a 02                	push   $0x2
436105:	5a                   	pop    %edx
436106:	8b 4e 50             	mov    0x50(%esi),%ecx
436109:	8d 79 02             	lea    0x2(%ecx),%edi
43610c:	66 8b 01             	mov    (%ecx),%ax
43610f:	03 ca                	add    %edx,%ecx
436111:	66 3b c3             	cmp    %bx,%ax
436114:	75 f6                	jne    0x43610c
436116:	2b cf                	sub    %edi,%ecx
436118:	33 c0                	xor    %eax,%eax
43611a:	d1 f9                	sar    $1,%ecx
43611c:	83 f9 03             	cmp    $0x3,%ecx
43611f:	8b 4e 54             	mov    0x54(%esi),%ecx
436122:	0f 94 c0             	sete   %al
436125:	89 46 60             	mov    %eax,0x60(%esi)
436128:	8d 79 02             	lea    0x2(%ecx),%edi
43612b:	66 8b 01             	mov    (%ecx),%ax
43612e:	03 ca                	add    %edx,%ecx
436130:	66 3b c3             	cmp    %bx,%ax
436133:	75 f6                	jne    0x43612b
436135:	2b cf                	sub    %edi,%ecx
436137:	33 c0                	xor    %eax,%eax
436139:	8b 7d 08             	mov    0x8(%ebp),%edi
43613c:	d1 f9                	sar    $1,%ecx
43613e:	83 f9 03             	cmp    $0x3,%ecx
436141:	0f 94 c0             	sete   %al
436144:	89 46 64             	mov    %eax,0x64(%esi)
436147:	89 5f 04             	mov    %ebx,0x4(%edi)
43614a:	39 5e 60             	cmp    %ebx,0x60(%esi)
43614d:	75 0b                	jne    0x43615a
43614f:	ff 76 50             	push   0x50(%esi)
436152:	e8 95 00 00 00       	call   0x4361ec
436157:	59                   	pop    %ecx
436158:	8b d0                	mov    %eax,%edx
43615a:	6a 01                	push   $0x1
43615c:	68 20 62 43 00       	push   $0x436220
436161:	89 56 5c             	mov    %edx,0x5c(%esi)
436164:	ff 15 a8 f1 43 00    	call   *0x43f1a8
43616a:	8b 0f                	mov    (%edi),%ecx
43616c:	f6 c1 07             	test   $0x7,%cl
43616f:	0f 95 c2             	setne  %dl
436172:	0f ba e1 09          	bt     $0x9,%ecx
436176:	0f 92 c0             	setb   %al
436179:	22 d0                	and    %al,%dl
43617b:	0f ba e1 08          	bt     $0x8,%ecx
43617f:	0f 92 c0             	setb   %al
436182:	84 d0                	test   %dl,%al
436184:	75 02                	jne    0x436188
436186:	89 1f                	mov    %ebx,(%edi)
436188:	5f                   	pop    %edi
436189:	5e                   	pop    %esi
43618a:	5b                   	pop    %ebx
43618b:	5d                   	pop    %ebp
43618c:	c3                   	ret
43618d:	8b ff                	mov    %edi,%edi
43618f:	55                   	push   %ebp
436190:	8b ec                	mov    %esp,%ebp
436192:	53                   	push   %ebx
436193:	56                   	push   %esi
436194:	57                   	push   %edi
436195:	e8 8f 5f ff ff       	call   0x42c129
43619a:	8b f0                	mov    %eax,%esi
43619c:	33 db                	xor    %ebx,%ebx
43619e:	6a 02                	push   $0x2
4361a0:	5a                   	pop    %edx
4361a1:	8b 4e 50             	mov    0x50(%esi),%ecx
4361a4:	8d 79 02             	lea    0x2(%ecx),%edi
4361a7:	66 8b 01             	mov    (%ecx),%ax
4361aa:	03 ca                	add    %edx,%ecx
4361ac:	66 3b c3             	cmp    %bx,%ax
4361af:	75 f6                	jne    0x4361a7
4361b1:	2b cf                	sub    %edi,%ecx
4361b3:	33 c0                	xor    %eax,%eax
4361b5:	d1 f9                	sar    $1,%ecx
4361b7:	83 f9 03             	cmp    $0x3,%ecx
4361ba:	0f 94 c0             	sete   %al
4361bd:	89 46 60             	mov    %eax,0x60(%esi)
4361c0:	74 0b                	je     0x4361cd
4361c2:	ff 76 50             	push   0x50(%esi)
4361c5:	e8 22 00 00 00       	call   0x4361ec
4361ca:	59                   	pop    %ecx
4361cb:	8b d0                	mov    %eax,%edx
4361cd:	6a 01                	push   $0x1
4361cf:	68 80 64 43 00       	push   $0x436480
4361d4:	89 56 5c             	mov    %edx,0x5c(%esi)
4361d7:	ff 15 a8 f1 43 00    	call   *0x43f1a8
4361dd:	8b 45 08             	mov    0x8(%ebp),%eax
4361e0:	f6 00 04             	testb  $0x4,(%eax)
4361e3:	75 02                	jne    0x4361e7
4361e5:	89 18                	mov    %ebx,(%eax)
4361e7:	5f                   	pop    %edi
4361e8:	5e                   	pop    %esi
4361e9:	5b                   	pop    %ebx
4361ea:	5d                   	pop    %ebp
4361eb:	c3                   	ret
4361ec:	8b ff                	mov    %edi,%edi
4361ee:	55                   	push   %ebp
4361ef:	8b ec                	mov    %esp,%ebp
4361f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4361f4:	33 d2                	xor    %edx,%edx
4361f6:	0f b7 01             	movzwl (%ecx),%eax
4361f9:	83 c1 02             	add    $0x2,%ecx
4361fc:	66 83 f8 41          	cmp    $0x41,%ax
436200:	72 06                	jb     0x436208
436202:	66 83 f8 5a          	cmp    $0x5a,%ax
436206:	76 09                	jbe    0x436211
436208:	83 c0 9f             	add    $0xffffff9f,%eax
43620b:	66 83 f8 19          	cmp    $0x19,%ax
43620f:	77 03                	ja     0x436214
436211:	42                   	inc    %edx
436212:	eb e2                	jmp    0x4361f6
436214:	8b c2                	mov    %edx,%eax
436216:	5d                   	pop    %ebp
436217:	c3                   	ret
436218:	cc                   	int3
436219:	cc                   	int3
43621a:	cc                   	int3
43621b:	cc                   	int3
43621c:	cc                   	int3
43621d:	cc                   	int3
43621e:	cc                   	int3
43621f:	cc                   	int3
436220:	8b ff                	mov    %edi,%edi
436222:	55                   	push   %ebp
436223:	8b ec                	mov    %esp,%ebp
436225:	81 ec fc 00 00 00    	sub    $0xfc,%esp
43622b:	a1 14 40 45 00       	mov    0x454014,%eax
436230:	33 c5                	xor    %ebp,%eax
436232:	89 45 fc             	mov    %eax,-0x4(%ebp)
436235:	53                   	push   %ebx
436236:	56                   	push   %esi
436237:	8b 75 08             	mov    0x8(%ebp),%esi
43623a:	57                   	push   %edi
43623b:	e8 e9 5e ff ff       	call   0x42c129
436240:	8b d8                	mov    %eax,%ebx
436242:	e8 e2 5e ff ff       	call   0x42c129
436247:	56                   	push   %esi
436248:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
43624e:	e8 02 03 00 00       	call   0x436555
436253:	59                   	pop    %ecx
436254:	8b 4b 64             	mov    0x64(%ebx),%ecx
436257:	8b f0                	mov    %eax,%esi
436259:	f7 d9                	neg    %ecx
43625b:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436261:	6a 78                	push   $0x78
436263:	1b c9                	sbb    %ecx,%ecx
436265:	81 e1 05 f0 ff ff    	and    $0xfffff005,%ecx
43626b:	50                   	push   %eax
43626c:	81 c1 02 10 00 00    	add    $0x1002,%ecx
436272:	51                   	push   %ecx
436273:	56                   	push   %esi
436274:	ff 15 9c f1 43 00    	call   *0x43f19c
43627a:	83 a5 08 ff ff ff 00 	andl   $0x0,-0xf8(%ebp)
436281:	85 c0                	test   %eax,%eax
436283:	0f 84 d4 01 00 00    	je     0x43645d
436289:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
43628f:	50                   	push   %eax
436290:	ff 73 54             	push   0x54(%ebx)
436293:	e8 e8 1c ff ff       	call   0x427f80
436298:	59                   	pop    %ecx
436299:	59                   	pop    %ecx
43629a:	85 c0                	test   %eax,%eax
43629c:	0f 85 b5 00 00 00    	jne    0x436357
4362a2:	6a 78                	push   $0x78
4362a4:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4362aa:	50                   	push   %eax
4362ab:	8b 43 60             	mov    0x60(%ebx),%eax
4362ae:	f7 d8                	neg    %eax
4362b0:	1b c0                	sbb    %eax,%eax
4362b2:	25 02 f0 ff ff       	and    $0xfffff002,%eax
4362b7:	05 01 10 00 00       	add    $0x1001,%eax
4362bc:	50                   	push   %eax
4362bd:	56                   	push   %esi
4362be:	ff 15 9c f1 43 00    	call   *0x43f19c
4362c4:	85 c0                	test   %eax,%eax
4362c6:	0f 84 91 01 00 00    	je     0x43645d
4362cc:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
4362d2:	50                   	push   %eax
4362d3:	ff 73 50             	push   0x50(%ebx)
4362d6:	e8 a5 1c ff ff       	call   0x427f80
4362db:	59                   	pop    %ecx
4362dc:	59                   	pop    %ecx
4362dd:	8b 0f                	mov    (%edi),%ecx
4362df:	85 c0                	test   %eax,%eax
4362e1:	75 0d                	jne    0x4362f0
4362e3:	81 c9 04 03 00 00    	or     $0x304,%ecx
4362e9:	89 77 04             	mov    %esi,0x4(%edi)
4362ec:	89 0f                	mov    %ecx,(%edi)
4362ee:	eb 64                	jmp    0x436354
4362f0:	f6 c1 02             	test   $0x2,%cl
4362f3:	75 62                	jne    0x436357
4362f5:	83 7b 5c 00          	cmpl   $0x0,0x5c(%ebx)
4362f9:	74 42                	je     0x43633d
4362fb:	ff 73 5c             	push   0x5c(%ebx)
4362fe:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436304:	50                   	push   %eax
436305:	ff 73 50             	push   0x50(%ebx)
436308:	e8 c3 1d ff ff       	call   0x4280d0
43630d:	83 c4 0c             	add    $0xc,%esp
436310:	85 c0                	test   %eax,%eax
436312:	75 29                	jne    0x43633d
436314:	83 0f 02             	orl    $0x2,(%edi)
436317:	89 77 08             	mov    %esi,0x8(%edi)
43631a:	8b 4b 50             	mov    0x50(%ebx),%ecx
43631d:	8d 51 02             	lea    0x2(%ecx),%edx
436320:	66 8b 01             	mov    (%ecx),%ax
436323:	83 c1 02             	add    $0x2,%ecx
436326:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
43632d:	75 f1                	jne    0x436320
43632f:	2b ca                	sub    %edx,%ecx
436331:	d1 f9                	sar    $1,%ecx
436333:	3b 4b 5c             	cmp    0x5c(%ebx),%ecx
436336:	75 1f                	jne    0x436357
436338:	89 77 04             	mov    %esi,0x4(%edi)
43633b:	eb 1a                	jmp    0x436357
43633d:	8b 17                	mov    (%edi),%edx
43633f:	f6 c2 01             	test   $0x1,%dl
436342:	75 13                	jne    0x436357
436344:	56                   	push   %esi
436345:	e8 40 03 00 00       	call   0x43668a
43634a:	59                   	pop    %ecx
43634b:	85 c0                	test   %eax,%eax
43634d:	74 08                	je     0x436357
43634f:	83 ca 01             	or     $0x1,%edx
436352:	89 17                	mov    %edx,(%edi)
436354:	89 77 08             	mov    %esi,0x8(%edi)
436357:	8b 07                	mov    (%edi),%eax
436359:	b9 00 03 00 00       	mov    $0x300,%ecx
43635e:	23 c1                	and    %ecx,%eax
436360:	3b c1                	cmp    %ecx,%eax
436362:	0f 84 e9 00 00 00    	je     0x436451
436368:	6a 78                	push   $0x78
43636a:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436370:	50                   	push   %eax
436371:	8b 43 60             	mov    0x60(%ebx),%eax
436374:	f7 d8                	neg    %eax
436376:	1b c0                	sbb    %eax,%eax
436378:	25 02 f0 ff ff       	and    $0xfffff002,%eax
43637d:	05 01 10 00 00       	add    $0x1001,%eax
436382:	50                   	push   %eax
436383:	56                   	push   %esi
436384:	ff 15 9c f1 43 00    	call   *0x43f19c
43638a:	85 c0                	test   %eax,%eax
43638c:	0f 84 cb 00 00 00    	je     0x43645d
436392:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436398:	50                   	push   %eax
436399:	ff 73 50             	push   0x50(%ebx)
43639c:	e8 df 1b ff ff       	call   0x427f80
4363a1:	59                   	pop    %ecx
4363a2:	59                   	pop    %ecx
4363a3:	85 c0                	test   %eax,%eax
4363a5:	75 6a                	jne    0x436411
4363a7:	8b 0f                	mov    (%edi),%ecx
4363a9:	81 c9 00 02 00 00    	or     $0x200,%ecx
4363af:	89 0f                	mov    %ecx,(%edi)
4363b1:	39 43 60             	cmp    %eax,0x60(%ebx)
4363b4:	74 10                	je     0x4363c6
4363b6:	81 c9 00 01 00 00    	or     $0x100,%ecx
4363bc:	89 0f                	mov    %ecx,(%edi)
4363be:	39 47 04             	cmp    %eax,0x4(%edi)
4363c1:	e9 86 00 00 00       	jmp    0x43644c
4363c6:	39 43 5c             	cmp    %eax,0x5c(%ebx)
4363c9:	74 eb                	je     0x4363b6
4363cb:	8b 53 50             	mov    0x50(%ebx),%edx
4363ce:	8d 42 02             	lea    0x2(%edx),%eax
4363d1:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
4363d7:	66 8b 02             	mov    (%edx),%ax
4363da:	83 c2 02             	add    $0x2,%edx
4363dd:	66 3b 85 08 ff ff ff 	cmp    -0xf8(%ebp),%ax
4363e4:	75 f1                	jne    0x4363d7
4363e6:	2b 95 04 ff ff ff    	sub    -0xfc(%ebp),%edx
4363ec:	d1 fa                	sar    $1,%edx
4363ee:	3b 53 5c             	cmp    0x5c(%ebx),%edx
4363f1:	75 1a                	jne    0x43640d
4363f3:	57                   	push   %edi
4363f4:	6a 01                	push   $0x1
4363f6:	56                   	push   %esi
4363f7:	e8 b3 02 00 00       	call   0x4366af
4363fc:	83 c4 0c             	add    $0xc,%esp
4363ff:	85 c0                	test   %eax,%eax
436401:	74 4e                	je     0x436451
436403:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
436409:	33 c0                	xor    %eax,%eax
43640b:	eb b1                	jmp    0x4363be
43640d:	33 c0                	xor    %eax,%eax
43640f:	eb a5                	jmp    0x4363b6
436411:	33 c0                	xor    %eax,%eax
436413:	39 43 60             	cmp    %eax,0x60(%ebx)
436416:	75 39                	jne    0x436451
436418:	39 43 5c             	cmp    %eax,0x5c(%ebx)
43641b:	74 34                	je     0x436451
43641d:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
436423:	50                   	push   %eax
436424:	ff 73 50             	push   0x50(%ebx)
436427:	e8 54 1b ff ff       	call   0x427f80
43642c:	59                   	pop    %ecx
43642d:	59                   	pop    %ecx
43642e:	85 c0                	test   %eax,%eax
436430:	75 1f                	jne    0x436451
436432:	57                   	push   %edi
436433:	33 db                	xor    %ebx,%ebx
436435:	53                   	push   %ebx
436436:	56                   	push   %esi
436437:	e8 73 02 00 00       	call   0x4366af
43643c:	83 c4 0c             	add    $0xc,%esp
43643f:	85 c0                	test   %eax,%eax
436441:	74 0e                	je     0x436451
436443:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
436449:	39 5f 04             	cmp    %ebx,0x4(%edi)
43644c:	75 03                	jne    0x436451
43644e:	89 77 04             	mov    %esi,0x4(%edi)
436451:	8b 07                	mov    (%edi),%eax
436453:	c1 e8 02             	shr    $0x2,%eax
436456:	f7 d0                	not    %eax
436458:	83 e0 01             	and    $0x1,%eax
43645b:	eb 05                	jmp    0x436462
43645d:	33 c0                	xor    %eax,%eax
43645f:	89 07                	mov    %eax,(%edi)
436461:	40                   	inc    %eax
436462:	8b 4d fc             	mov    -0x4(%ebp),%ecx
436465:	5f                   	pop    %edi
436466:	5e                   	pop    %esi
436467:	33 cd                	xor    %ebp,%ecx
436469:	5b                   	pop    %ebx
43646a:	e8 61 54 fe ff       	call   0x41b8d0
43646f:	c9                   	leave
436470:	c2 04 00             	ret    $0x4
436473:	cc                   	int3
436474:	cc                   	int3
436475:	cc                   	int3
436476:	cc                   	int3
436477:	cc                   	int3
436478:	cc                   	int3
436479:	cc                   	int3
43647a:	cc                   	int3