58bea1:	8b c1                	mov    %ecx,%eax
58bea3:	88 4c 24 2f          	mov    %cl,0x2f(%esp)
58bea7:	c1 f8 18             	sar    $0x18,%eax
58beaa:	88 44 24 2c          	mov    %al,0x2c(%esp)
58beae:	8b c1                	mov    %ecx,%eax
58beb0:	c1 f8 10             	sar    $0x10,%eax
58beb3:	88 44 24 2d          	mov    %al,0x2d(%esp)
58beb7:	8b c1                	mov    %ecx,%eax
58beb9:	c1 f8 08             	sar    $0x8,%eax
58bebc:	88 44 24 2e          	mov    %al,0x2e(%esp)
58bec0:	8d 44 24 2c          	lea    0x2c(%esp),%eax
58bec4:	89 44 24 14          	mov    %eax,0x14(%esp)
58bec8:	8b 44 24 24          	mov    0x24(%esp),%eax
58becc:	89 04 24             	mov    %eax,(%esp)
58becf:	8b 44 24 28          	mov    0x28(%esp),%eax
58bed3:	89 44 24 04          	mov    %eax,0x4(%esp)
58bed7:	8d 44 24 0c          	lea    0xc(%esp),%eax
58bedb:	68 14 4a 6c 00       	push   $0x6c4a14
58bee0:	ff 74 24 24          	push   0x24(%esp)
58bee4:	89 44 24 10          	mov    %eax,0x10(%esp)
58bee8:	8d 44 24 08          	lea    0x8(%esp),%eax
58beec:	50                   	push   %eax
58beed:	c7 44 24 18 04 00 00 	movl   $0x4,0x18(%esp)
58bef4:	00
58bef5:	c7 44 24 1c 04 00 00 	movl   $0x4,0x1c(%esp)
58befc:	00
58befd:	c7 44 24 24 00 00 00 	movl   $0x0,0x24(%esp)
58bf04:	00
58bf05:	e8 f6 1c f4 ff       	call   0x4cdc00
58bf0a:	83 c4 28             	add    $0x28,%esp
58bf0d:	c3                   	ret
58bf0e:	cc                   	int3
58bf0f:	cc                   	int3
58bf10:	8b 44 24 04          	mov    0x4(%esp),%eax
58bf14:	85 c0                	test   %eax,%eax
58bf16:	74 38                	je     0x58bf50
58bf18:	8b 08                	mov    (%eax),%ecx
58bf1a:	83 e9 01             	sub    $0x1,%ecx
58bf1d:	74 1a                	je     0x58bf39
58bf1f:	83 e9 01             	sub    $0x1,%ecx
58bf22:	74 03                	je     0x58bf27
58bf24:	33 c0                	xor    %eax,%eax
58bf26:	c3                   	ret
58bf27:	50                   	push   %eax
58bf28:	ff 74 24 10          	push   0x10(%esp)
58bf2c:	8b 40 08             	mov    0x8(%eax),%eax
58bf2f:	ff 74 24 10          	push   0x10(%esp)
58bf33:	ff d0                	call   *%eax
58bf35:	83 c4 0c             	add    $0xc,%esp
58bf38:	c3                   	ret
58bf39:	8b 48 08             	mov    0x8(%eax),%ecx
58bf3c:	85 c9                	test   %ecx,%ecx
58bf3e:	74 10                	je     0x58bf50
58bf40:	ff 70 04             	push   0x4(%eax)
58bf43:	ff 74 24 10          	push   0x10(%esp)
58bf47:	ff 74 24 10          	push   0x10(%esp)
58bf4b:	ff d1                	call   *%ecx
58bf4d:	83 c4 0c             	add    $0xc,%esp
58bf50:	b8 01 00 00 00       	mov    $0x1,%eax
58bf55:	c3                   	ret
58bf56:	cc                   	int3
58bf57:	cc                   	int3
58bf58:	cc                   	int3
58bf59:	cc                   	int3
58bf5a:	cc                   	int3
58bf5b:	cc                   	int3
58bf5c:	cc                   	int3
58bf5d:	cc                   	int3
58bf5e:	cc                   	int3
58bf5f:	cc                   	int3
58bf60:	b8 0c 00 00 00       	mov    $0xc,%eax
58bf65:	e8 86 55 05 00       	call   0x5e14f0
58bf6a:	53                   	push   %ebx
58bf6b:	55                   	push   %ebp
58bf6c:	56                   	push   %esi
58bf6d:	8b 74 24 20          	mov    0x20(%esp),%esi
58bf71:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58bf78:	00
58bf79:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
58bf80:	00
58bf81:	81 fe 14 05 00 00    	cmp    $0x514,%esi
58bf87:	7c 0a                	jl     0x58bf93
58bf89:	bd 02 00 00 00       	mov    $0x2,%ebp
58bf8e:	e9 9d 00 00 00       	jmp    0x58c030
58bf93:	81 fe 52 03 00 00    	cmp    $0x352,%esi
58bf99:	7c 0a                	jl     0x58bfa5
58bf9b:	bd 03 00 00 00       	mov    $0x3,%ebp
58bfa0:	e9 8b 00 00 00       	jmp    0x58c030
58bfa5:	81 fe 8a 02 00 00    	cmp    $0x28a,%esi
58bfab:	7c 07                	jl     0x58bfb4
58bfad:	bd 04 00 00 00       	mov    $0x4,%ebp
58bfb2:	eb 7c                	jmp    0x58c030
58bfb4:	81 fe 26 02 00 00    	cmp    $0x226,%esi
58bfba:	7c 07                	jl     0x58bfc3
58bfbc:	bd 05 00 00 00       	mov    $0x5,%ebp
58bfc1:	eb 6d                	jmp    0x58c030
58bfc3:	81 fe c2 01 00 00    	cmp    $0x1c2,%esi
58bfc9:	7c 07                	jl     0x58bfd2
58bfcb:	bd 06 00 00 00       	mov    $0x6,%ebp
58bfd0:	eb 5e                	jmp    0x58c030
58bfd2:	81 fe 90 01 00 00    	cmp    $0x190,%esi
58bfd8:	7c 07                	jl     0x58bfe1
58bfda:	bd 07 00 00 00       	mov    $0x7,%ebp
58bfdf:	eb 4f                	jmp    0x58c030
58bfe1:	81 fe 5e 01 00 00    	cmp    $0x15e,%esi
58bfe7:	7c 07                	jl     0x58bff0
58bfe9:	bd 08 00 00 00       	mov    $0x8,%ebp
58bfee:	eb 40                	jmp    0x58c030
58bff0:	81 fe 2c 01 00 00    	cmp    $0x12c,%esi
58bff6:	7c 07                	jl     0x58bfff
58bff8:	bd 09 00 00 00       	mov    $0x9,%ebp
58bffd:	eb 31                	jmp    0x58c030
58bfff:	81 fe fa 00 00 00    	cmp    $0xfa,%esi
58c005:	7c 07                	jl     0x58c00e
58c007:	bd 0c 00 00 00       	mov    $0xc,%ebp
58c00c:	eb 22                	jmp    0x58c030
58c00e:	81 fe c8 00 00 00    	cmp    $0xc8,%esi
58c014:	7c 07                	jl     0x58c01d
58c016:	bd 0f 00 00 00       	mov    $0xf,%ebp
58c01b:	eb 13                	jmp    0x58c030
58c01d:	81 fe 96 00 00 00    	cmp    $0x96,%esi
58c023:	bd 1b 00 00 00       	mov    $0x1b,%ebp
58c028:	b8 12 00 00 00       	mov    $0x12,%eax
58c02d:	0f 4d e8             	cmovge %eax,%ebp
58c030:	e8 eb bd f4 ff       	call   0x4d7e20
58c035:	8b d8                	mov    %eax,%ebx
58c037:	85 db                	test   %ebx,%ebx
58c039:	0f 84 8f 01 00 00    	je     0x58c1ce
58c03f:	53                   	push   %ebx
58c040:	e8 5b be f4 ff       	call   0x4d7ea0
58c045:	53                   	push   %ebx
58c046:	e8 75 bd f4 ff       	call   0x4d7dc0
58c04b:	83 c4 08             	add    $0x8,%esp
58c04e:	89 44 24 10          	mov    %eax,0x10(%esp)
58c052:	85 c0                	test   %eax,%eax
58c054:	0f 84 5a 01 00 00    	je     0x58c1b4
58c05a:	8b 54 24 2c          	mov    0x2c(%esp),%edx
58c05e:	8b 4c 24 28          	mov    0x28(%esp),%ecx
58c062:	57                   	push   %edi
58c063:	8b 7c 24 34          	mov    0x34(%esp),%edi
58c067:	eb 0b                	jmp    0x58c074
58c069:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
58c070:	8b 74 24 24          	mov    0x24(%esp),%esi
58c074:	8b 44 24 20          	mov    0x20(%esp),%eax
58c078:	85 c9                	test   %ecx,%ecx
58c07a:	75 0c                	jne    0x58c088
58c07c:	56                   	push   %esi
58c07d:	50                   	push   %eax
58c07e:	e8 1d 05 00 00       	call   0x58c5a0
58c083:	83 c4 08             	add    $0x8,%esp
58c086:	eb 1b                	jmp    0x58c0a3
58c088:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
58c08d:	53                   	push   %ebx
58c08e:	52                   	push   %edx
58c08f:	51                   	push   %ecx
58c090:	56                   	push   %esi
58c091:	50                   	push   %eax
58c092:	74 07                	je     0x58c09b
58c094:	e8 f7 06 00 00       	call   0x58c790
58c099:	eb 05                	jmp    0x58c0a0
58c09b:	e8 e0 05 00 00       	call   0x58c680
58c0a0:	83 c4 14             	add    $0x14,%esp
58c0a3:	85 c0                	test   %eax,%eax
58c0a5:	0f 84 08 01 00 00    	je     0x58c1b3
58c0ab:	85 ff                	test   %edi,%edi
58c0ad:	74 36                	je     0x58c0e5
58c0af:	8b 07                	mov    (%edi),%eax
58c0b1:	83 e8 01             	sub    $0x1,%eax
58c0b4:	74 1a                	je     0x58c0d0
58c0b6:	83 e8 01             	sub    $0x1,%eax
58c0b9:	74 04                	je     0x58c0bf
58c0bb:	33 c0                	xor    %eax,%eax
58c0bd:	eb 2b                	jmp    0x58c0ea
58c0bf:	8b 47 08             	mov    0x8(%edi),%eax
58c0c2:	57                   	push   %edi
58c0c3:	ff 74 24 14          	push   0x14(%esp)
58c0c7:	6a 00                	push   $0x0
58c0c9:	ff d0                	call   *%eax
58c0cb:	83 c4 0c             	add    $0xc,%esp
58c0ce:	eb 1a                	jmp    0x58c0ea
58c0d0:	8b 47 08             	mov    0x8(%edi),%eax
58c0d3:	85 c0                	test   %eax,%eax
58c0d5:	74 0e                	je     0x58c0e5
58c0d7:	ff 77 04             	push   0x4(%edi)
58c0da:	ff 74 24 14          	push   0x14(%esp)
58c0de:	6a 00                	push   $0x0
58c0e0:	ff d0                	call   *%eax
58c0e2:	83 c4 0c             	add    $0xc,%esp
58c0e5:	b8 01 00 00 00       	mov    $0x1,%eax
58c0ea:	ff 44 24 10          	incl   0x10(%esp)
58c0ee:	85 c0                	test   %eax,%eax
58c0f0:	0f 84 bd 00 00 00    	je     0x58c1b3
58c0f6:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
58c0fb:	8b 44 24 20          	mov    0x20(%esp),%eax
58c0ff:	75 2c                	jne    0x58c12d
58c101:	57                   	push   %edi
58c102:	6a 00                	push   $0x0
58c104:	53                   	push   %ebx
58c105:	55                   	push   %ebp
58c106:	50                   	push   %eax
58c107:	e8 d4 00 00 00       	call   0x58c1e0
58c10c:	83 c4 14             	add    $0x14,%esp
58c10f:	83 f8 ff             	cmp    $0xffffffff,%eax
58c112:	0f 84 9b 00 00 00    	je     0x58c1b3
58c118:	85 c0                	test   %eax,%eax
58c11a:	0f 85 8b 00 00 00    	jne    0x58c1ab
58c120:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58c124:	8b 54 24 30          	mov    0x30(%esp),%edx
58c128:	e9 47 ff ff ff       	jmp    0x58c074
58c12d:	50                   	push   %eax
58c12e:	ff 74 24 18          	push   0x18(%esp)
58c132:	e8 59 87 f2 ff       	call   0x4b4890
58c137:	83 c4 08             	add    $0x8,%esp
58c13a:	85 c0                	test   %eax,%eax
58c13c:	74 75                	je     0x58c1b3
58c13e:	33 f6                	xor    %esi,%esi
58c140:	3b f5                	cmp    %ebp,%esi
58c142:	7d 67                	jge    0x58c1ab
58c144:	57                   	push   %edi
58c145:	6a 00                	push   $0x0
58c147:	53                   	push   %ebx
58c148:	6a 01                	push   $0x1
58c14a:	ff 74 24 30          	push   0x30(%esp)
58c14e:	e8 8d 00 00 00       	call   0x58c1e0
58c153:	83 c4 14             	add    $0x14,%esp
58c156:	83 f8 ff             	cmp    $0xffffffff,%eax
58c159:	74 58                	je     0x58c1b3
58c15b:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58c15f:	8b 54 24 30          	mov    0x30(%esp),%edx
58c163:	85 c0                	test   %eax,%eax
58c165:	0f 84 05 ff ff ff    	je     0x58c070
58c16b:	57                   	push   %edi
58c16c:	6a 00                	push   $0x0
58c16e:	53                   	push   %ebx
58c16f:	6a 01                	push   $0x1
58c171:	ff 74 24 24          	push   0x24(%esp)
58c175:	e8 66 00 00 00       	call   0x58c1e0
58c17a:	83 c4 14             	add    $0x14,%esp
58c17d:	83 f8 ff             	cmp    $0xffffffff,%eax
58c180:	74 31                	je     0x58c1b3
58c182:	85 c0                	test   %eax,%eax
58c184:	74 18                	je     0x58c19e
58c186:	8b 44 24 10          	mov    0x10(%esp),%eax
58c18a:	48                   	dec    %eax
58c18b:	50                   	push   %eax
58c18c:	6a 02                	push   $0x2
58c18e:	57                   	push   %edi
58c18f:	e8 7c fd ff ff       	call   0x58bf10
58c194:	83 c4 0c             	add    $0xc,%esp
58c197:	85 c0                	test   %eax,%eax
58c199:	74 18                	je     0x58c1b3
58c19b:	46                   	inc    %esi
58c19c:	eb a2                	jmp    0x58c140
58c19e:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
58c1a2:	8b 54 24 30          	mov    0x30(%esp),%edx
58c1a6:	e9 c5 fe ff ff       	jmp    0x58c070
58c1ab:	c7 44 24 18 01 00 00 	movl   $0x1,0x18(%esp)
58c1b2:	00
58c1b3:	5f                   	pop    %edi
58c1b4:	53                   	push   %ebx
58c1b5:	e8 96 bb f4 ff       	call   0x4d7d50
58c1ba:	53                   	push   %ebx
58c1bb:	e8 d0 bb f4 ff       	call   0x4d7d90
58c1c0:	8b 44 24 1c          	mov    0x1c(%esp),%eax
58c1c4:	83 c4 08             	add    $0x8,%esp
58c1c7:	5e                   	pop    %esi
58c1c8:	5d                   	pop    %ebp
58c1c9:	5b                   	pop    %ebx
58c1ca:	83 c4 0c             	add    $0xc,%esp
58c1cd:	c3                   	ret
58c1ce:	5e                   	pop    %esi
58c1cf:	5d                   	pop    %ebp
58c1d0:	33 c0                	xor    %eax,%eax
58c1d2:	5b                   	pop    %ebx
58c1d3:	83 c4 0c             	add    $0xc,%esp
58c1d6:	c3                   	ret
58c1d7:	cc                   	int3
58c1d8:	cc                   	int3
58c1d9:	cc                   	int3
58c1da:	cc                   	int3
58c1db:	cc                   	int3
58c1dc:	cc                   	int3
58c1dd:	cc                   	int3
58c1de:	cc                   	int3
58c1df:	cc                   	int3
58c1e0:	b8 18 00 00 00       	mov    $0x18,%eax
58c1e5:	e8 06 53 05 00       	call   0x5e14f0
58c1ea:	56                   	push   %esi
58c1eb:	c7 44 24 08 ff ff ff 	movl   $0xffffffff,0x8(%esp)
58c1f2:	ff
58c1f3:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
58c1fa:	00
58c1fb:	e8 a0 73 f2 ff       	call   0x4b35a0
58c200:	8b 74 24 20          	mov    0x20(%esp),%esi
58c204:	50                   	push   %eax
58c205:	56                   	push   %esi
58c206:	e8 b5 6b f2 ff       	call   0x4b2dc0
58c20b:	83 c4 08             	add    $0x8,%esp
58c20e:	85 c0                	test   %eax,%eax
58c210:	7f 07                	jg     0x58c219
58c212:	33 c0                	xor    %eax,%eax
58c214:	5e                   	pop    %esi
58c215:	83 c4 18             	add    $0x18,%esp
58c218:	c3                   	ret
58c219:	53                   	push   %ebx
58c21a:	8b 5c 24 28          	mov    0x28(%esp),%ebx
58c21e:	85 db                	test   %ebx,%ebx
58c220:	0f 85 10 01 00 00    	jne    0x58c336
58c226:	56                   	push   %esi
58c227:	e8 44 71 f2 ff       	call   0x4b3370
58c22c:	83 c4 04             	add    $0x4,%esp
58c22f:	3d 14 05 00 00       	cmp    $0x514,%eax
58c234:	7c 0a                	jl     0x58c240
58c236:	bb 02 00 00 00       	mov    $0x2,%ebx
58c23b:	e9 f6 00 00 00       	jmp    0x58c336
58c240:	56                   	push   %esi
58c241:	e8 2a 71 f2 ff       	call   0x4b3370
58c246:	83 c4 04             	add    $0x4,%esp
58c249:	3d 52 03 00 00       	cmp    $0x352,%eax
58c24e:	7c 0a                	jl     0x58c25a
58c250:	bb 03 00 00 00       	mov    $0x3,%ebx
58c255:	e9 dc 00 00 00       	jmp    0x58c336
58c25a:	56                   	push   %esi
58c25b:	e8 10 71 f2 ff       	call   0x4b3370
58c260:	83 c4 04             	add    $0x4,%esp
58c263:	3d 8a 02 00 00       	cmp    $0x28a,%eax
58c268:	7c 0a                	jl     0x58c274
58c26a:	bb 04 00 00 00       	mov    $0x4,%ebx
58c26f:	e9 c2 00 00 00       	jmp    0x58c336
58c274:	56                   	push   %esi
58c275:	e8 f6 70 f2 ff       	call   0x4b3370
58c27a:	83 c4 04             	add    $0x4,%esp
58c27d:	3d 26 02 00 00       	cmp    $0x226,%eax
58c282:	7c 0a                	jl     0x58c28e
58c284:	bb 05 00 00 00       	mov    $0x5,%ebx
58c289:	e9 a8 00 00 00       	jmp    0x58c336
58c28e:	56                   	push   %esi
58c28f:	e8 dc 70 f2 ff       	call   0x4b3370
58c294:	83 c4 04             	add    $0x4,%esp
58c297:	3d c2 01 00 00       	cmp    $0x1c2,%eax
58c29c:	7c 0a                	jl     0x58c2a8
58c29e:	bb 06 00 00 00       	mov    $0x6,%ebx
58c2a3:	e9 8e 00 00 00       	jmp    0x58c336
58c2a8:	56                   	push   %esi
58c2a9:	e8 c2 70 f2 ff       	call   0x4b3370
58c2ae:	83 c4 04             	add    $0x4,%esp
58c2b1:	3d 90 01 00 00       	cmp    $0x190,%eax
58c2b6:	7c 07                	jl     0x58c2bf
58c2b8:	bb 07 00 00 00       	mov    $0x7,%ebx
58c2bd:	eb 77                	jmp    0x58c336