Function at 0x600048e0
Capabilities:
Enumerate pe sections

Disassembly:
push edi
push esi
push ebp
push ebx
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
sub esp, 0x634
mov eax, dword [ebx + 0x4de8]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x5e0], ecx
mov dword [esp + 0x5dc], ecx
mov dword [esp + 0x5d8], ecx
mov dword [esp + 0x5d4], ecx
mov dword [esp + 0x5ec], ecx
mov dword [esp + 0x5e8], ecx
mov dword [esp + 0x5fc], ecx
mov dword [esp + 0x5f8], ecx
xor cl, cl
mov byte [esp + 0x618], cl
cmp eax, 1
je 0x60005b03
mov edi, dword [ebx + 0x37b8]
mov eax, dword [ebx + 0x37bc]
add edi, edi
add eax, eax
add edi, edi
add eax, eax
add edi, edi
add eax, eax
mov dword [esp + 4], edi
mov ecx, dword [ebx + 0x4834]
lea ebp, [ebx + 4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x650]
mov dword [esp + 0x604], ecx
mov ecx, dword [ebx + 0x30]
mov dword [esp], ebp
mov ebp, dword [ebx + 0x3c]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x14], ecx
mov ecx, dword [ebx + 0x24]
mov dword [esp + 0x18], ebp
mov ebp, dword [ebx + 0x28]
mov dword [esp + 0x1c], eax
lea eax, [ebx + 0x3814]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x590]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x28], eax
call section..text
test eax, eax
jne 0x60005aae
mov eax, dword [ebx + 0x34]
cmp eax, 2
je 0x60005ad0
mov edi, dword [ebx + 0x3814]
add edi, dword [ebx + 0x3820]
xor ebp, ebp
mov edx, dword [ebx + 0x30]
mov dword [esp + 0x61c], edi
mov ecx, dword [ebx + 0x37c0]
mov dword [esp + 0x620], ebp
mov ebx, eax
cmp ecx, edx
jge 0x60004a10
mov eax, ecx
jmp 0x60004a12
mov eax, edx
mov ebp, dword [esp + 0x620]
cmp ebp, eax
jge 0x60005a40
mov eax, dword [esp + 0x648]
mov eax, dword [eax + 0x58]
cmp eax, 4
je 0x60005a30
mov eax, dword [esp + 0x648]
mov ebx, ebp
mov edx, dword [eax + 0x37b8]
mov eax, dword [eax + 0x37cc]
shl ebx, 4
mov dword [esp + 0x5a0], ebx
add ebx, eax
mov eax, edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x5f4], edx
mov ecx, edx
cdq
idiv ecx
mov dword [esp + 0x600], eax
mov eax, dword [esp + 0x648]
mov esi, dword [ebx + 8]
mov eax, dword [eax + 0x37bc]
mov dl, byte [esp + 0x618]
mov cl, dl
cdq
idiv esi
cmp cl, 1
mov dword [esp + 0x60c], eax
je 0x600057c0
mov al, cl
cmp al, 2
je 0x60004d90
xor eax, eax
test esi, esi
mov dword [esp + 0x5c4], eax
jle 0x60004caa
mov ecx, dword [esp + 0x60c]
mov edx, eax
shl ecx, 8
mov eax, dword [esp + 0x600]
mov dword [esp + 0x5d0], ecx
mov ebp, dword [esp + 0x5f4]
imul ecx, edx
lea edi, [esp + 0x30]
add edi, ecx
test ebp, ebp
mov edx, 0
mov dword [esp + 0x5cc], edx
jle 0x60004c8a
lea edx, [eax + eax]
mov dword [esp + 0x5c8], ecx
add edx, edx
add edx, edx
mov dword [esp + 0x5e4], edx
xor edx, edx
mov ecx, dword [esp + 0x5d0]
test ecx, ecx
jle 0x60004c66
mov ecx, dword [esp + 0x60c]
mov ebx, dword [esp + 0x604]
shl ecx, 5
mov dword [esp + 0x610], edi
mov dword [esp + 0x614], ecx
xor ecx, ecx
mov ebp, dword [esp + 0x5e4]
mov dword [esp + 0x5f4], ecx
test ebp, ebp
jle 0x60004c25
mov dword [esp + 0x608], edx
movsx edx, word [ebx]
add ebx, 2
xor ebp, ebp
mov ecx, dword [esp + 0x614]
test ecx, ecx
mov dword [esp + 0x5f0], edx
jle 0x60004bff
mov dword [esp + 0x604], ebx
xor edx, edx
test eax, eax
jle 0x60004bea
cmp eax, 6
jl 0x60004d60
mov ecx, dword [esp + 0x610]
mov edi, dword [esp + 0x608]
mov ebx, dword [esp + 0x5f4]
add ecx, edi
mov edi, dword [esp + 0x5f0]
add ecx, ebx
mov ebx, edi
movzx ebx, bl
add ecx, ebp
lea esi, [eax - 6]
mov dword [esp + 0x600], eax
mov eax, esi
mov byte [ecx + edx], bl
mov byte [ecx + edx + 1], bl
mov byte [ecx + edx + 2], bl
mov byte [ecx + edx + 3], bl
mov byte [ecx + edx + 4], bl
add edx, 5
cmp edx, eax
jle 0x60004bc1
mov eax, dword [esp + 0x600]
mov byte [ecx + edx], bl
inc edx
cmp edx, eax
jl 0x60004be2
add ebp, 0x20
mov edx, dword [esp + 0x614]
cmp ebp, edx
jl 0x60004b7b
mov ebx, dword [esp + 0x604]
mov edx, dword [esp + 0x5f4]
mov ecx, dword [esp + 0x5e4]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x5f4], edx
jl 0x60004b56
mov edx, dword [esp + 0x608]
mov ecx, dword [esp + 0x614]
mov ebp, dword [esp + 0x5d0]
add edx, ecx
cmp edx, ebp
jl 0x60004b37
mov edx, dword [esp + 0x648]
mov ecx, dword [esp + 0x5a0]
mov edx, dword [edx + 0x37cc]
mov edi, dword [esp + 0x610]
mov dword [esp + 0x604], ebx
mov ebx, edx
add ebx, ecx
mov ebp, dword [ebx + 4]
mov edx, dword [esp + 0x5cc]
lea edi, [edi + eax*8]
inc edx
cmp edx, ebp
mov dword [esp + 0x5cc], edx
jl 0x60004b07
mov ecx, dword [esp + 0x5c8]
mov esi, dword [ebx + 8]
mov edx, dword [esp + 0x5c4]
inc edx
mov dword [esp + 0x5c4], edx
mov edi, dword [esp + 0x5d0]
add ecx, edi
cmp edx, esi
jl 0x60004ad8
mov eax, dword [esp + 0x648]
lea edx, [esp + 0x590]
mov ecx, dword [esp + 0x620]
mov dword [esp], eax
mov eax, dword [esp + 0x61c]
mov dword [esp + 4], edx
lea esi, [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
call fcn.600045c0
mov eax, dword [esp + 0x648]
mov ebx, dword [eax + 0x34]
cmp ebx, 2
je 0x60004d30
mov eax, dword [esp + 0x61c]
mov ebp, dword [esp + 0x648]
inc eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x37c0]
mov dword [esp + 0x61c], eax
mov eax, dword [esp + 0x620]
inc eax
mov dword [esp + 0x620], eax
jmp 0x60004a00
mov eax, dword [eax + 0x58]
cmp eax, 1
jne 0x60004cf1
mov eax, dword [esp + 0x61c]
mov ebp, dword [esp + 0x648]
dec eax
mov edx, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x37c0]
mov dword [esp + 0x61c], eax
jmp 0x60004d10
mov ecx, dword [esp + 0x610]
mov esi, dword [esp + 0x608]
mov edi, dword [esp + 0x5f4]
add ecx, esi
mov ebx, dword [esp + 0x5f0]
add ecx, edi
movzx ebx, bl
add ecx, ebp
jmp 0x60004be2
xor eax, eax
test esi, esi
mov dword [esp + 0x614], eax
jle 0x60004caa
mov eax, dword [esp + 0x60c]
mov ebp, esi
shl eax, 8
mov dword [esp + 0x608], eax
mov eax, dword [esp + 0x614]
mov edx, dword [esp + 0x608]
lea esi, [esp + 0x30]
xor ecx, ecx
imul eax, edx
mov edx, dword [esp + 0x5f4]
add esi, eax
test edx, edx
mov dword [esp + 0x5e4], esi
jle 0x60005102
mov eax, dword [esp + 0x600]
cmp eax, 2
je 0x60005120
xor eax, eax
mov ebp, dword [ebx + 8]
mov dword [esp + 0x614], eax
test ebp, ebp
jle 0x600050ef
mov ecx, eax
mov eax, dword [esp + 0x608]
imul ecx, eax
mov eax, dword [esp + 0x600]
lea edx, [esp + 0x30]
mov esi, dword [esp + 0x5f4]
add edx, ecx
test esi, esi
mov dword [esp + 0x5e4], edx
mov edx, 0
mov dword [esp + 0x610], edx
jle 0x600050c1
lea edx, [eax + eax]
mov dword [esp + 0x5c4], ecx
add edx, edx
mov ebp, dword [esp + 0x5e0]
add edx, edx
mov esi, dword [esp + 0x5dc]
mov dword [esp + 0x5c8], edx
mov edi, dword [esp + 0x5d8]
xor edx, edx
mov ecx, dword [esp + 0x608]
test ecx, ecx
jle 0x60004ffd
mov ecx, dword [esp + 0x60c]
mov dword [esp + 0x5e0], ebp
shl ecx, 5
mov ebx, dword [esp + 0x604]
mov dword [esp + 0x5dc], esi
mov dword [esp + 0x5f4], ecx
mov dword [esp + 0x5d8], edi
xor ecx, ecx
mov ebp, dword [esp + 0x5c8]
mov dword [esp + 0x5d0], ecx
test ebp, ebp
jle 0x60004fa8
mov dword [esp + 0x5f0], edx
movsx edx, word [ebx]
add ebx, 2
xor ebp, ebp
mov ecx, dword [esp + 0x5f4]
test ecx, ecx
mov dword [esp + 0x5cc], edx
jle 0x60004f82
mov dword [esp + 0x604], ebx
xor edx, edx
test eax, eax
jle 0x60004f69
cmp eax, 6
jl 0x60005790
mov ecx, dword [esp + 0x5e4]
mov edi, dword [esp + 0x5f0]
mov ebx, dword [esp + 0x5d0]
add ecx, edi
mov edi, dword [esp + 0x5cc]
add ecx, ebx
mov ebx, edi
movzx ebx, bl
add ecx, ebp
lea esi, [eax - 6]
mov dword [esp + 0x600], eax
mov eax, esi
lea esi, [esi]
lea edi, [edi]
mov byte [ecx + edx], bl
mov byte [ecx + edx + 1], bl
mov byte [ecx + edx + 2], bl
mov byte [ecx + edx + 3], bl
mov byte [ecx + edx + 4], bl
add edx, 5
cmp edx, eax
jle 0x60004f40
mov eax, dword [esp + 0x600]
mov byte [ecx + edx], bl
inc edx
cmp edx, eax
jl 0x60004f61
add ebp, 0x20
mov edx, dword [esp + 0x5f4]
cmp ebp, edx
jl 0x60004eee
mov ebx, dword [esp + 0x604]
mov edx, dword [esp + 0x5d0]
mov ecx, dword [esp + 0x5c8]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x5d0], edx
jl 0x60004ec9
mov edx, dword [esp + 0x5f0]
mov ecx, dword [esp + 0x5f4]
mov ebp, dword [esp + 0x608]
add edx, ecx
cmp edx, ebp
jl 0x60004eaa
mov edx, dword [esp + 0x648]
mov ecx, dword [esp + 0x5a0]
mov edx, dword [edx + 0x37cc]
mov edi, dword [esp + 0x5d8]
mov esi, dword [esp + 0x5dc]
mov dword [esp + 0x604], ebx
lea ebx, [edx + ecx]
mov ebp, dword [esp + 0x5e0]
mov edx, dword [ebx + 4]
mov dword [esp + 0x5f4], edx
mov edx, dword [esp + 0x5e4]
add edi, 0x80
add esi, 0x80
add ebp, 0x80
lea edx, [edx + eax*8]
mov dword [esp + 0x5e4], edx
mov edx, dword [esp + 0x5e8]
add edx, 0x80
mov dword [esp + 0x5e8], edx
mov edx, dword [esp + 0x5f8]
add edx, 0x80
mov dword [esp + 0x5f8], edx
mov edx, dword [esp + 0x5fc]
add edx, 0x80
mov dword [esp + 0x5fc], edx
mov edx, dword [esp + 0x5ec]
add edx, 0x80
mov dword [esp + 0x5ec], edx
mov edx, dword [esp + 0x5d4]
add edx, 0x80
mov dword [esp + 0x5d4], edx
mov edx, dword [esp + 0x610]
inc edx
mov dword [esp + 0x610], edx
mov ecx, dword [esp + 0x5f4]
cmp edx, ecx
jl 0x60004e6c
mov dword [esp + 0x5d8], edi
mov dword [esp + 0x5dc], esi
mov dword [esp + 0x5e0], ebp
mov ecx, dword [esp + 0x5c4]
mov ebp, dword [ebx + 8]
mov edx, dword [esp + 0x614]
mov esi, dword [esp + 0x608]
inc edx
add ecx, esi
cmp edx, ebp
mov dword [esp + 0x614], edx
jl 0x60004e1a
mov ecx, dword [esp + 0x610]
mov dword [esp + 0x600], eax
inc ecx
mov eax, dword [esp + 0x5f4]
cmp ecx, eax
jl 0x60004de3
mov ebp, dword [ebx + 8]
mov eax, dword [esp + 0x614]
inc eax
mov dword [esp + 0x614], eax
cmp eax, ebp
jl 0x60004db4
jmp 0x60004caa
mov eax, dword [esp + 0x60c]
cmp eax, 2
jne 0x60004df3
xor eax, eax
mov edx, 7
mov ebx, dword [esp + 0x604]
mov dword [esp + 0x5a8], edx
mov dword [esp + 0x5ac], eax
mov dword [esp + 0x610], ecx
mov eax, dword [esp + 0x5f8]
movsx ecx, word [ebx + 2]
movsx eax, word [eax + 0xe]
lea ecx, [ecx + ecx*2]
movsx ebp, word [ebx]
mov esi, dword [esp + 0x5ac]
mov dword [esp + 0x5cc], ecx
test esi, esi
lea edi, [eax + eax*2]
lea edx, [ebp + ebp*8]
je 0x600051b0
movsx eax, word [ebx - 0x10]
mov ecx, dword [esp + 0x5f8]
movsx ebp, word [ebx - 0xe]
movsx ecx, word [ecx - 2]
mov dword [esp + 0x5c4], ebp
mov dword [esp + 0x5c8], ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x5b8], eax
jmp 0x600051e3
mov eax, dword [esp + 0x5e8]
mov ecx, dword [esp + 0x5d4]
movsx ebp, word [eax + 0x70]
movsx ecx, word [ecx + 0x7e]
mov dword [esp + 0x5c8], ecx
lea ebp, [ebp + ebp*2]
movsx eax, word [eax + 0x72]
mov dword [esp + 0x5b8], ebp
mov dword [esp + 0x5c4], eax
mov eax, dword [esp + 0x5a8]
test eax, eax
je 0x60005220
mov ecx, dword [esp + 0x5f8]
movsx ebp, word [ebx + 0x10]
movsx ecx, word [ecx + 0x1e]
lea eax, [ebp + ebp*2]
movsx ebp, word [ebx + 0x12]
mov dword [esp + 0x5c0], ecx
mov dword [esp + 0x5bc], ebp
jmp 0x6000524a
mov ecx, dword [esp + 0x5ec]
mov ebp, dword [esp + 0x5dc]
movsx esi, word [ecx]
movsx ebp, word [ebp + 0xe]
mov dword [esp + 0x5c0], ebp
lea eax, [esi + esi*2]
movsx ecx, word [ecx + 2]
mov dword [esp + 0x5bc], ecx
mov ecx, dword [esp + 0x5cc]
mov ebp, dword [esp + 0x5b8]
add ecx, edx
add edx, edi
mov esi, dword [esp + 0x5c4]
mov edi, ebp
add edi, ecx
add ecx, eax
add ebp, edx
add edx, eax
mov eax, edx
lea edx, [ebx + 2]
lea edi, [edi + esi + 7]
mov esi, dword [esp + 0x5e4]
sar edi, 4
mov ebx, dword [esp + 0x5ac]
mov dword [esp + 0x624], eax
mov eax, esi
add eax, ebx
mov dword [esp + 0x5f4], eax
mov dword [esp + 0x628], edx
mov edx, edi
mov byte [eax + 1], dl
mov edx, dword [esp + 0x5bc]
mov edi, dword [esp + 0x5c8]
lea ecx, [ecx + edx + 7]
sar ecx, 4
mov byte [eax + 0x21], cl
lea ebp, [ebp + edi + 8]
mov ecx, dword [esp + 0x5c0]
sar ebp, 4
mov edx, dword [esp + 0x5e8]
add edx, 2
mov dword [esp + 0x5d0], edx
lea edx, [esi + ebx + 2]
mov dword [esp + 0x5f0], edx
mov dword [esp + 0x62c], edx
mov edx, ebp
mov byte [eax], dl
lea esi, [esi + ebx + 0xe]
mov edi, dword [esp + 0x5ec]
mov dword [esp + 0x5a4], esi
add edi, 2
mov ebp, dword [esp + 0x624]
lea ebp, [ebp + ecx + 8]
sar ebp, 4
mov ecx, ebp
mov byte [eax + 0x20], cl
mov ecx, dword [esp + 0x62c]
mov edx, dword [esp + 0x628]
nop
lea esi, [esi]
movsx eax, word [edx]
movsx ebx, word [edx - 2]
lea eax, [eax + eax*8]
lea ebx, [ebx + ebx*2]
mov dword [esp + 0x5c8], eax
movsx eax, word [edx + 2]
mov dword [esp + 0x5b4], ebx
lea eax, [eax + eax*2]
mov ebx, dword [esp + 0x5ac]
mov dword [esp + 0x5b0], eax
test ebx, ebx
je 0x60005390
movsx eax, word [edx - 0x10]
movsx ebx, word [edx - 0x12]
lea eax, [eax + eax*2]
mov dword [esp + 0x5b8], ebx
movsx ebx, word [edx - 0xe]
mov dword [esp + 0x5cc], eax
mov dword [esp + 0x5bc], ebx
jmp 0x600053bb
mov eax, dword [esp + 0x5d0]
movsx ebx, word [eax + 0x70]
movsx ebp, word [eax + 0x6e]
mov dword [esp + 0x5b8], ebp
lea ebx, [ebx + ebx*2]
movsx eax, word [eax + 0x72]
mov dword [esp + 0x5cc], ebx
mov dword [esp + 0x5bc], eax
mov eax, dword [esp + 0x5a8]
test eax, eax
je 0x600053f0
movsx eax, word [edx + 0x10]
movsx ebx, word [edx + 0xe]
lea ebp, [eax + eax*2]
mov dword [esp + 0x5c0], ebx
movsx eax, word [edx + 0x12]
mov dword [esp + 0x5c4], eax
jmp 0x6000540c
movsx eax, word [edi]
movsx ebx, word [edi - 2]
lea ebp, [eax + eax*2]
mov dword [esp + 0x5c0], ebx
movsx eax, word [edi + 2]
mov dword [esp + 0x5c4], eax
mov eax, dword [esp + 0x5c8]
mov ebx, dword [esp + 0x5b4]
add edx, 2
add ebx, eax
add edi, 2
mov esi, ebx
add esi, ebp
add ebx, dword [esp + 0x5cc]
mov dword [esp + 0x624], edi
mov edi, dword [esp + 0x5cc]
mov dword [esp + 0x628], edx
mov edx, dword [esp + 0x5b8]
lea ebx, [ebx + edx + 8]
sar ebx, 4
mov byte [ecx], bl
mov ebx, dword [esp + 0x5b0]
add eax, ebx
mov ebx, dword [esp + 0x5bc]
add edi, eax
add ebp, eax
lea edi, [edi + ebx + 7]
mov eax, dword [esp + 0x5c0]
sar edi, 4
lea esi, [esi + eax + 8]
mov eax, dword [esp + 0x5c4]
sar esi, 4
lea ebp, [ebp + eax + 7]
mov eax, dword [esp + 0x5d0]
sar ebp, 4
add eax, 2
mov ebx, dword [esp + 0x5a4]
mov edx, edi
mov byte [ecx + 1], dl
mov dword [esp + 0x5d0], eax
mov eax, esi
mov byte [ecx + 0x20], al
mov eax, ebp
mov byte [ecx + 0x21], al
add ecx, 2
cmp ebx, ecx
mov edx, dword [esp + 0x628]
mov edi, dword [esp + 0x624]
jg 0x60005330
mov eax, dword [esp + 0x5fc]
movsx ecx, word [edx - 2]
movsx eax, word [eax]
lea ecx, [ecx + ecx*2]
movsx ebp, word [edx]
mov esi, dword [esp + 0x5ac]
mov dword [esp + 0x5c8], ecx
test esi, esi
lea eax, [eax + eax*2]
lea ebx, [ebp + ebp*8]
mov dword [esp + 0x5cc], eax
mov eax, dword [esp + 0x5f4]
je 0x60005540
movsx ecx, word [edx - 0x10]
mov ebp, dword [esp + 0x5fc]
movsx esi, word [edx - 0x12]
movsx ebp, word [ebp - 0x10]
mov dword [esp + 0x5c4], esi
mov dword [esp + 0x5c0], ebp
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x5b4], ecx
jmp 0x60005572
mov ecx, dword [esp + 0x5d0]
mov ebp, dword [esp + 0x5d8]
movsx esi, word [ecx + 0x70]
movsx ecx, word [ecx + 0x6e]
mov dword [esp + 0x5c4], ecx
lea esi, [esi + esi*2]
mov dword [esp + 0x5b4], esi
movsx ebp, word [ebp + 0x70]
mov dword [esp + 0x5c0], ebp
mov ecx, dword [esp + 0x5a8]
test ecx, ecx
je 0x600055b0
movsx ecx, word [edx + 0x10]
mov ebp, dword [esp + 0x5fc]
movsx esi, word [edx + 0xe]
movsx ebp, word [ebp + 0x10]
mov dword [esp + 0x5bc], esi
mov dword [esp + 0x5b8], ebp
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x5b0], ecx
jmp 0x600055da
movsx ecx, word [edi]
mov ebp, dword [esp + 0x5e0]
movsx esi, word [edi - 2]
movsx ebp, word [ebp]
mov dword [esp + 0x5bc], esi
mov dword [esp + 0x5b8], ebp
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x5b0], ecx
mov ecx, dword [esp + 0x5c8]
mov ebp, dword [esp + 0x5b4]
add ecx, ebx
add edi, 0xfffffff2
mov dword [esp + 0x5ec], edi
mov esi, dword [esp + 0x5c4]
lea edi, [ecx + ebp]
lea edi, [edi + esi + 8]
sar edi, 4
mov dword [esp + 0x624], edx
mov edx, edi
mov byte [eax + 0xe], dl
mov esi, dword [esp + 0x5cc]
mov edx, dword [esp + 0x5c0]
add ebx, esi
mov esi, dword [esp + 0x5b0]
add ebp, ebx
add ecx, esi
add esi, ebx
lea ebp, [ebp + edx + 7]
mov edx, dword [esp + 0x5bc]
sar ebp, 4
lea ecx, [ecx + edx + 8]
mov edx, dword [esp + 0x5b8]
sar ecx, 4
lea esi, [esi + edx + 7]
mov byte [eax + 0x2e], cl
sar esi, 4
mov ecx, dword [esp + 0x5fc]
add ecx, 0x10
mov edx, ebp
mov byte [eax + 0xf], dl
mov ebp, dword [esp + 0x5f8]
mov dword [esp + 0x5fc], ecx
add ebp, 0x10
mov ecx, dword [esp + 0x5d0]
mov dword [esp + 0x5f8], ebp
add ecx, 0xfffffff2
mov ebp, dword [esp + 0x5ac]
mov dword [esp + 0x5e8], ecx
add ebp, 0x40
mov ecx, dword [esp + 0x5a8]
dec ecx
mov edx, esi
mov byte [eax + 0x2f], dl
mov dword [esp + 0x5ac], ebp
mov dword [esp + 0x5a8], ecx
mov edx, dword [esp + 0x624]
mov ebx, edx
add ebx, 2
cmp ecx, 0xffffffff
jne 0x60005153
mov eax, dword [esp + 0x648]
mov edx, dword [esp + 0x5a0]
mov eax, dword [eax + 0x37cc]
mov ecx, dword [esp + 0x5e4]
mov ebp, dword [esp + 0x5e8]
add ecx, 0x10
add ebp, 0x80
mov dword [esp + 0x5e4], ecx
mov ecx, dword [esp + 0x5ec]
add ecx, 0x80
mov esi, ebx
lea ebx, [eax + edx]
mov dword [esp + 0x5e8], ebp
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x5d4]
mov dword [esp + 0x5f4], eax
add edx, 0x80
mov dword [esp + 0x5ec], ecx
mov eax, dword [esp + 0x5d8]
mov dword [esp + 0x5d4], edx
add eax, 0x80
mov edx, dword [esp + 0x5dc]
mov dword [esp + 0x5d8], eax
add edx, 0x80
mov eax, dword [esp + 0x5e0]
mov dword [esp + 0x5dc], edx
add eax, 0x80
mov ecx, dword [esp + 0x610]
mov dword [esp + 0x5e0], eax
mov dword [esp + 0x604], esi
jmp 0x600050ef
mov ecx, dword [esp + 0x5e4]
mov esi, dword [esp + 0x5f0]
mov edi, dword [esp + 0x5d0]
add ecx, esi
mov ebx, dword [esp + 0x5cc]
add ecx, edi
movzx ebx, bl
add ecx, ebp
jmp 0x60004f61
xor edx, edx
mov ecx, dword [esp + 0x5f4]
lea eax, [esp + 0x30]
test ecx, ecx
jle 0x60004caa
mov ebx, dword [esp + 0x604]
mov edi, dword [esp + 0x5fc]
mov esi, dword [esp + 0x5f8]
mov ebp, eax
mov eax, dword [esp + 0x600]
mov dword [esp + 0x5a4], edx
mov ecx, 0xffffff00
nop
cmp eax, 2
je 0x600058c0
mov dl, byte [ebx]
mov byte [ecx + ebp + 0x100], dl
mov dl, byte [ebx + 2]
mov byte [ecx + ebp + 0x101], dl
mov dl, byte [ebx + 4]
mov byte [ecx + ebp + 0x102], dl
mov dl, byte [ebx + 6]
mov byte [ecx + ebp + 0x103], dl
mov dl, byte [ebx + 8]
mov byte [ecx + ebp + 0x104], dl
mov dl, byte [ebx + 0xa]
mov byte [ecx + ebp + 0x105], dl
mov dl, byte [ebx + 0xc]
mov byte [ecx + ebp + 0x106], dl
mov dl, byte [ebx + 0xe]
mov byte [ecx + ebp + 0x107], dl
add esi, 0x10
add edi, 0x10
add ebx, 0x10
add ecx, 0x20
jne 0x60005800
mov edx, dword [esp + 0x5a4]
inc edx
mov ecx, dword [esp + 0x648]
lea ebp, [ebp + eax*8]
mov ecx, dword [ecx + 0x37cc]
mov dword [esp + 0x624], edi
mov edi, dword [esp + 0x5a0]
cmp edx, dword [edi + ecx + 4]
mov edi, dword [esp + 0x624]
jl 0x600057f3
mov dword [esp + 0x5f8], esi
mov dword [esp + 0x5fc], edi
mov dword [esp + 0x604], ebx
jmp 0x60004caa
movsx edx, word [ebx]
lea edx, [edx + edx*2]
mov dword [esp + 0x624], eax
movsx eax, word [esi + 0xe]
lea eax, [eax + edx + 1]
sar eax, 2
mov byte [ecx + ebp + 0x100], al
movsx eax, word [ebx + 2]
lea eax, [eax + edx + 2]
sar eax, 2
mov byte [ecx + ebp + 0x101], al
movsx edx, word [ebx + 2]
movsx eax, word [ebx]
lea edx, [edx + edx*2]
lea eax, [edx + eax + 1]
sar eax, 2
mov byte [ecx + ebp + 0x102], al
movsx eax, word [ebx + 4]
lea edx, [edx + eax + 2]
sar edx, 2
mov byte [ecx + ebp + 0x103], dl
movsx edx, word [ebx + 4]
movsx eax, word [ebx + 2]
lea edx, [edx + edx*2]
lea eax, [edx + eax + 1]
sar eax, 2
mov byte [ecx + ebp + 0x104], al
movsx eax, word [ebx + 6]
lea edx, [edx + eax + 2]
sar edx, 2
mov byte [ecx + ebp + 0x105], dl
movsx edx, word [ebx + 6]
movsx eax, word [ebx + 4]
lea edx, [edx + edx*2]
lea eax, [edx + eax + 1]
sar eax, 2
mov byte [ecx + ebp + 0x106], al
movsx eax, word [ebx + 8]
lea edx, [edx + eax + 2]
sar edx, 2
mov byte [ecx + ebp + 0x107], dl
movsx edx, word [ebx + 8]
movsx eax, word [ebx + 6]
lea edx, [edx + edx*2]
lea eax, [edx + eax + 1]
sar eax, 2
mov byte [ecx + ebp + 0x108], al
movsx eax, word [ebx + 0xa]
lea edx, [edx + eax + 2]
sar edx, 2
mov byte [ecx + ebp + 0x109], dl
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
lea edx, [edx + edx*2]
lea eax, [edx + eax + 1]
sar eax, 2
mov byte [ecx + ebp + 0x10a], al
movsx eax, word [ebx + 0xc]
lea edx, [edx + eax + 2]
sar edx, 2
mov byte [ecx + ebp + 0x10b], dl
movsx edx, word [ebx + 0xc]
movsx eax, word [ebx + 0xa]
lea edx, [edx + edx*2]
lea eax, [edx + eax + 1]
sar eax, 2
mov byte [ecx + ebp + 0x10c], al
movsx eax, word [ebx + 0xe]
lea edx, [edx + eax + 2]
sar edx, 2
mov byte [ecx + ebp + 0x10d], dl
movsx edx, word [ebx + 0xe]
movsx eax, word [ebx + 0xc]
lea edx, [edx + edx*2]
lea eax, [eax + edx + 1]
sar eax, 2
mov byte [ecx + ebp + 0x10e], al
movsx eax, word [edi]
lea eax, [eax + edx + 2]
sar eax, 2
mov byte [ecx + ebp + 0x10f], al
mov eax, dword [esp + 0x624]
jmp 0x60005858
mov eax, ebp
test eax, eax
jg 0x60004d10
jmp 0x60004a34
mov eax, ebx
mov ebx, dword [esp + 0x648]
mov edi, dword [esp + 0x61c]
mov ecx, dword [ebx + 0x74]
test ecx, ecx
je 0x60005a6b
mov ebp, dword [ebx + 0x54]
mov ecx, 0xffffffff
add ecx, ebp
cmp ecx, dword [ebx + 0x3820]
je 0x60005a6b
mov ebp, edx
cmp eax, 0xff
jne 0x60005a7c
mov eax, dword [ebx + 0x58]
cmp eax, 0xff
je 0x60005aae
cmp ebp, edx
jge 0x60005aae
lea eax, [esp + 0x590]
mov dword [esp], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 4], eax
mov dword [esp + 0x10], esi
call fcn.600045c0
mov eax, dword [ebx + 0x34]
cmp eax, 2
je 0x60005ab9
inc edi
inc ebp
cmp ebp, dword [ebx + 0x30]
jl 0x60005a80
add esp, 0x634
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, dword [ebx + 0x58]
cmp eax, 1
jne 0x60005aa7
dec edi
jmp 0x60005aa8
mov edx, dword [ebx + 0x58]
cmp edx, 1
jne 0x600049d9
mov edx, dword [ebx + 0x3820]
mov edi, dword [ebx + 0x3814]
test edx, edx
jne 0x60005af4
add edi, 2
jmp 0x600049e5
cmp edx, 1
jne 0x600049e5
inc edi
jmp 0x600049e5
mov edi, dword [ebx + 0x37b8]
cmp edi, 2
je 0x60005c6b
mov eax, dword [ebx + 0x37bc]
cmp edi, 2
jne 0x60004952
cmp eax, 2
jne 0x60004952
mov ebp, dword [ebx + 0x37c0]
mov cl, 2
mov byte [esp + 0x618], cl
mov ecx, ebp
dec ebp
mov dword [esp + 0x624], ecx
xor ecx, ecx
mov dword [esp + 0x628], edi
mov edi, dword [esp + 0x624]
test edi, edi
mov edi, dword [esp + 0x628]
je 0x60005bbb
mov dword [esp + 0x614], eax
mov ebx, dword [ebx + 0x37cc]
mov dword [esp + 0x61c], ebx
mov edx, ebp
shl edx, 4
mov dword [esp + 0x620], edx
mov eax, ecx
mov ecx, ebp
mov ebp, ebx
mov ebx, eax
lea esi, [esi]
lea edi, [edi]
dec ecx
mov eax, dword [edx + ebp + 4]
imul eax, dword [edx + ebp + 8]
add edx, 0xfffffff0
add ebx, eax
cmp ecx, 0xffffffff
jne 0x60005b90
mov ecx, ebx
mov ebx, dword [esp + 0x648]
mov eax, dword [esp + 0x614]
mov edx, dword [esp + 0x64c]
shl ecx, 6
lea ebp, [edx + edx]
imul ebp, ecx
mov dword [esp + 0x624], edi
mov edi, ecx
imul edi, edx
mov dword [esp + 0x628], esi
mov esi, edi
add esi, ecx
lea edi, [edi + ecx*2]
mov ecx, dword [ebx + 0x4dec]
mov dword [esp + 0x62c], ebx
mov ebx, dword [ecx]
mov dword [esp + 0x630], edx
lea edx, [ebx + esi*2]
mov dword [esp + 0x5e8], edx
lea edx, [ebx + ebp]
mov dword [esp + 0x5d4], edx
lea ebx, [ebx + edi*2]
mov dword [esp + 0x5d8], ebx
mov edx, dword [ecx + 4]
mov ebx, ebp
add ebx, edx
mov dword [esp + 0x5f8], ebx
lea edx, [edx + edi*2]
mov dword [esp + 0x5fc], edx
mov ecx, dword [ecx + 8]
lea esi, [ecx + esi*2]
lea edi, [ecx + edi*2]
mov dword [esp + 0x5ec], esi
mov dword [esp + 0x5e0], edi
add ecx, ebp
mov dword [esp + 0x5dc], ecx
mov edi, dword [esp + 0x624]
mov esi, dword [esp + 0x628]
mov ebx, dword [esp + 0x62c]
mov edx, dword [esp + 0x630]
jmp 0x60004952
mov eax, dword [ebx + 0x37bc]
cmp eax, 1
jne 0x60005b18
mov ebp, dword [ebx + 0x37c0]
mov cl, 1
mov byte [esp + 0x618], cl
mov ecx, ebp
dec ebp
mov dword [esp + 0x624], ecx
xor ecx, ecx
mov dword [esp + 0x628], edi
mov edi, dword [esp + 0x624]
test edi, edi
mov edi, dword [esp + 0x628]
je 0x60005d0b
mov dword [esp + 0x614], eax
mov ebx, dword [ebx + 0x37cc]
mov dword [esp + 0x61c], ebx
mov edx, ebp
shl edx, 4
mov dword [esp + 0x620], edx
mov eax, ecx
mov ecx, ebp
mov ebp, ebx
mov ebx, eax
lea esi, [esi]
lea edi, [edi]
dec ecx
mov eax, dword [edx + ebp + 4]
imul eax, dword [edx + ebp + 8]
add edx, 0xfffffff0
add ebx, eax
cmp ecx, 0xffffffff
jne 0x60005ce0
mov ecx, ebx
mov ebx, dword [esp + 0x648]
mov eax, dword [esp + 0x614]
mov edx, dword [esp + 0x64c]
lea ebp, [edx + edx]
mov dword [esp + 0x624], edi
mov edi, ecx
shl edi, 6
shl ecx, 8
imul edi, ebp
mov ebp, dword [ebx + 0x4dec]
add edi, dword [ebp + 4]
add ecx, edi
mov dword [esp + 0x5f8], edi
mov dword [esp + 0x5fc], ecx
mov edi, dword [esp + 0x624]
jmp 0x60005b18