Function at 0x6cc4d8f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov eax, dword [esp + 0x84]
mov edi, dword [eax]
mov dword [esp + 0x14], edi
cmp edi, 0x4b424453
je 0x6cc4d91d
mov eax, 0xffffffff
cmp edi, 0x5344424b
jne 0x6cc4de59
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x14], 0x5344424b
movzx eax, word [eax + 4]
mov word [esp + 0x3c], ax
je 0x6cc4de61
lea edx, [eax - 0x2b]
mov eax, 0xfffffffe
cmp dx, 3
ja 0x6cc4de59
mov eax, dword [esp + 0x84]
movzx edx, word [eax + 6]
mov eax, 0xfffffffd
cmp dx, 0x2b
jne 0x6cc4de59
mov eax, dword [esp + 0x84]
movzx edx, byte [eax + 0x12]
add eax, 0x13
mov dword [esp + 0x5c], eax
cmp dl, 1
jbe 0x6cc4d98c
mov eax, 0xfffffffc
cmp dl, 3
jne 0x6cc4de59
mov eax, dword [esp + 0x80]
mov dword [esp], 0x44
call dword [eax + 0x68]
cmp dword [esp + 0x14], 0x5344424b
mov edi, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x80]
mov byte [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi + 0xc], 0
mov dword [edi], eax
mov eax, dword [esp + 0x84]
movzx ebx, word [eax + 0x13]
lea esi, [eax + 0x4a]
mov word [esp + 0x3e], bx
je 0x6cc4de95
mov eax, dword [esp + 0x84]
mov dword [esp + 0x34], 0
movzx edi, word [eax + 0x15]
movzx eax, word [eax + 0x19]
mov word [esp + 0x4c], di
mov word [esp + 0x4e], ax
movzx eax, word [esp + 0x3e]
add eax, edi
mov edi, dword [esp + 0x20]
mov word [edi + 0x10], ax
mov eax, dword [esp + 0x84]
movzx eax, byte [eax + 0x1b]
mov byte [edi + 0x12], al
mov eax, dword [esp + 0x84]
movzx eax, word [eax + 0x1c]
mov word [edi + 0x14], ax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x2a]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x3e]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x42]
mov dword [esp + 0x44], eax
mov eax, dword [sym.imp.ucrtbase.dll_strlen]
mov dword [esp], esi
mov dword [esp + 0x38], eax
call eax
lea ebx, [eax + 1]
mov eax, dword [esp + 0x80]
mov dword [esp], ebx
call dword [eax + 0x68]
mov edi, dword [esp + 0x20]
mov dword [edi + 0x24], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.ucrtbase.dll_memcpy
mov eax, dword [esp + 0x84]
lea ebx, [eax + 0x8a]
movzx eax, byte [edi + 0x12]
mov dword [esp + 0x5c], ebx
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
cmp byte [edi + 0x12], 0
mov ebp, eax
mov dword [edi + 0x1c], eax
je 0x6cc4db14
xor esi, esi
jmp 0x6cc4dac3
mov ebp, dword [edi + 0x1c]
mov eax, dword [esp + 0x38]
mov dword [esp], ebx
lea ebp, [ebp + esi*4]
call eax
lea edx, [eax + 1]
mov eax, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 0x18], edx
call dword [eax + 0x68]
mov edx, dword [esp + 0x18]
mov dword [ebp], eax
mov eax, dword [edi + 0x1c]
mov eax, dword [eax + esi*4]
mov dword [esp + 4], ebx
add esi, 1
add ebx, 0x40
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.ucrtbase.dll_memcpy
movzx eax, byte [edi + 0x12]
mov dword [esp + 0x5c], ebx
cmp si, ax
jb 0x6cc4dac0
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 0x14]
imul eax, eax, 0x1c
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
mov dword [edi + 0x2c], eax
movzx eax, word [edi + 0x14]
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
cmp word [edi + 0x14], 0
mov dword [edi + 0x30], eax
je 0x6cc4e4aa
mov dword [esp + 0x30], 0
lea esi, [esi]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov edx, ebx
sub edx, dword [esp + 0x84]
mov dword [eax + edi*4], edx
imul eax, edi, 0x1c
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], eax
mov esi, dword [edi + 0x2c]
movzx edi, byte [ebx]
add esi, eax
cmp dword [esp + 0x14], 0x5344424b
mov eax, edi
mov byte [esi], al
movzx eax, word [ebx + 1]
jne 0x6cc4e0b8
rol ax, 8
pxor xmm0, xmm0
mov word [esi + 2], ax
movzx eax, byte [ebx + 3]
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x6cc6d670]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_log10]
movzx eax, word [ebx + 4]
movsd xmm0, qword [0x6cc6d678]
fstp qword [esp + 0x18]
mulsd xmm0, qword [esp + 0x18]
addsd xmm0, qword [0x6cc6d680]
rol ax, 8
cvtsd2ss xmm0, xmm0
movss dword [esi + 4], xmm0
mov word [esi + 8], ax
movzx eax, byte [ebx + 6]
and edi, 1
mov byte [esi + 0xa], al
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x68]
je 0x6cc4df30
movzx edx, byte [ebx + 9]
add ebx, 0xa
mov dword [esp + 0x5c], ebx
movzx ebx, dl
mov byte [esi + 0xb], dl
imul ebx, ebx, 0x1c
mov dword [esp], ebx
call eax
mov edi, dword [esp + 0x20]
mov dword [esi + 0x10], eax
mov esi, dword [esp + 0x28]
mov eax, dword [edi + 0x2c]
mov edx, dword [eax + esi + 0x10]
cmp ebx, 4
jae 0x6cc4e3fa
test ebx, ebx
je 0x6cc4dc4b
mov byte [edx], 0
mov eax, dword [edi + 0x2c]
mov edi, dword [esp + 0x28]
lea ebp, [eax + edi]
movzx edx, byte [ebp]
test dl, 0xe
je 0x6cc4dff3
mov ebx, dword [esp + 0x5c]
lea eax, [ebx + 2]
mov dword [esp + 0x5c], eax
test dl, 2
jne 0x6cc4e41a
mov byte [ebp + 0xc], 0
mov dword [ebp + 0x14], 0
movzx eax, byte [ebp + 0xb]
test dl, 4
jne 0x6cc4e110
movzx ecx, al
test al, al
je 0x6cc4dcb9
sub ecx, 1
mov ebx, dword [ebp + 0x10]
movzx ecx, cx
imul ecx, ecx, 0x1c
lea eax, [ebx + 0xc]
lea ecx, [ebx + ecx + 0x28]
lea esi, [esi]
mov byte [eax], 0
add eax, 0x1c
mov dword [eax - 0x18], 0
cmp ecx, eax
jne 0x6cc4dca8
test dl, 0x10
jne 0x6cc4e03a
mov byte [ebp + 0xd], 0
mov dword [ebp + 0x18], 0
and edx, 1
jne 0x6cc4e1f0
mov edi, dword [esp + 0x20]
add dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
cmp ax, word [edi + 0x14]
jae 0x6cc4e4aa
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x30]
jmp 0x6cc4db60
movzx edx, word [esp + 0x4c]
mov ecx, dword [esp + 0x28]
mov eax, edx
shl eax, 4
sub eax, edx
add ecx, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x68]
test di, di
jne 0x6cc4e803
mov eax, dword [esp + 0x20]
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x80]
movzx eax, word [edi + 0x18]
mov edx, dword [ebx + 0x68]
test ax, ax
jne 0x6cc4e66d
mov eax, dword [esp + 0x20]
mov dword [eax + 0x3c], 0
mov dword [eax + 0x40], 0
cmp dword [esp + 0x40], 0xffffffff
je 0x6cc4dd73
movzx eax, word [esp + 0x4e]
add eax, eax
add dword [esp + 0x5c], eax
cmp dword [esp + 0x44], 0xffffffff
je 0x6cc4dd8b
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x10]
lea eax, [eax + eax*2]
add eax, eax
add dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x48], 0xffffffff
mov edi, dword [esp + 0x20]
mov eax, dword [eax + 0x68]
je 0x6cc4eb9d
movzx edx, word [edi + 0x10]
shl edx, 2
mov dword [esp], edx
call eax
cmp word [edi + 0x10], 0
mov ebp, eax
mov dword [edi + 0x20], eax
je 0x6cc4de18
mov edi, dword [esp + 0x5c]
xor esi, esi
jmp 0x6cc4ddcf
mov eax, dword [esp + 0x20]
mov ebp, dword [eax + 0x20]
mov eax, dword [esp + 0x38]
mov dword [esp], edi
lea ebp, [ebp + esi*4]
call eax
lea ebx, [eax + 1]
mov eax, dword [esp + 0x80]
mov dword [esp], ebx
call dword [eax + 0x68]
mov dword [ebp], eax
mov ebp, dword [esp + 0x20]
mov eax, dword [ebp + 0x20]
mov eax, dword [eax + esi*4]
mov dword [esp + 4], edi
add edi, ebx
add esi, 1
mov dword [esp + 8], ebx
mov dword [esp], eax
call sub.ucrtbase.dll_memcpy
mov dword [esp + 0x5c], edi
cmp si, word [ebp + 0x10]
jb 0x6cc4ddc8
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x68]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + 0x44]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
add eax, 0x3c
mov dword [esp], eax
call fcn.6cc5ff30
mov eax, dword [esp + 0x8c]
mov dword [eax], edi
xor eax, eax
add esp, 0x6c
pop ebx
pop esi
pop edi
pop ebp
ret
rol word [esp + 0x3c], 8
movzx eax, word [esp + 0x3c]
lea edx, [eax - 0x2b]
mov eax, 0xfffffffe
cmp dx, 3
ja 0x6cc4de59
mov eax, dword [esp + 0x84]
movzx eax, word [eax + 6]
mov edx, eax
mov word [esp + 0x20], ax
rol dx, 8
jmp 0x6cc4d958
movzx eax, word [eax + 0x15]
rol bx, 8
mov dword [esp + 0x34], 1
mov edx, dword [esp + 0x84]
mov word [esp + 0x3e], bx
rol ax, 8
mov word [esp + 0x4c], ax
add eax, ebx
movzx edx, word [edx + 0x19]
mov word [edi + 0x10], ax
mov eax, dword [esp + 0x84]
rol dx, 8
movzx eax, byte [eax + 0x1b]
mov word [esp + 0x4e], dx
mov byte [edi + 0x12], al
mov eax, dword [esp + 0x84]
movzx eax, word [eax + 0x1c]
mov word [esp + 0x18], ax
rol ax, 8
mov word [edi + 0x14], ax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x2a]
bswap eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x3e]
bswap eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x42]
bswap eax
mov dword [esp + 0x44], eax
jmp 0x6cc4da56
mov byte [esi + 0xb], 1
mov dword [esp], 0x1c
call eax
mov ebp, dword [esp + 0x28]
mov ecx, 7
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x20]
xor esi, esi
mov eax, dword [eax + 0x2c]
mov edx, dword [eax + ebp + 0x10]
mov eax, esi
mov edi, edx
mov edx, dword [esp + 0x80]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x2c]
mov edi, dword [eax + ebp + 0x10]
mov dword [edi + 4], 0
mov byte [edi + 8], 0xff
mov byte [edi + 0x14], 1
mov dword [esp], 0x40
call dword [edx + 0x68]
mov ecx, 0x10
mov dword [edi + 0x18], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + ebp + 0x10]
mov edx, dword [eax + 0x18]
mov eax, esi
mov esi, 1
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
add ebp, dword [eax + 0x2c]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x18]
mov word [eax], si
mov dword [eax + 0xa], 0
movzx edx, word [ebx + 9]
mov ecx, edx
rol cx, 8
cmp dword [esp + 0x14], 0x5344424b
cmove edx, ecx
add ebx, 0xc
mov word [eax + 0x10], dx
movzx edx, byte [ebx - 1]
mov dword [esp + 0x5c], ebx
mov byte [eax + 0x12], dl
movzx edx, byte [ebp]
test dl, 0xe
jne 0x6cc4dc5f
movzx ecx, byte [ebp + 0xb]
mov byte [ebp + 0xc], 0
mov dword [ebp + 0x14], 0
test cl, cl
je 0x6cc4dcb9
sub ecx, 1
mov ebx, dword [ebp + 0x10]
movzx ecx, cx
imul ecx, ecx, 0x1c
lea eax, [ebx + 0xc]
lea ecx, [ebx + ecx + 0x28]
lea esi, [esi]
mov byte [eax], 0
add eax, 0x1c
mov dword [eax - 0x18], 0
cmp eax, ecx
jne 0x6cc4e020
test dl, 0x10
je 0x6cc4dcc2
mov ebx, dword [esp + 0x5c]
movzx eax, byte [ebx + 2]
lea edi, [ebx + 3]
mov dword [esp + 0x18], edi
mov dword [esp + 0x5c], edi
mov byte [ebp + 0xd], al
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
add ebp, dword [eax + 0x2c]
movzx edi, byte [ebp + 0xd]
mov eax, edi
movzx ecx, al
test al, al
je 0x6cc4e3f1
mov esi, dword [ebp + 0x18]
xor eax, eax
jmp 0x6cc4e09f
mov dword [esi + eax*4], edx
add eax, 1
cmp ax, cx
jae 0x6cc4e3e1
cmp dword [esp + 0x14], 0x5344424b
mov edx, dword [ebx + eax*4 + 3]
jne 0x6cc4e090
jmp 0x6cc4e3d4
mov word [esi + 2], ax
movzx eax, byte [ebx + 3]
pxor xmm0, xmm0
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x6cc6d670]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_log10]
movzx eax, word [ebx + 4]
movsd xmm0, qword [0x6cc6d678]
fstp qword [esp + 0x18]
mulsd xmm0, qword [esp + 0x18]
addsd xmm0, qword [0x6cc6d680]
cvtsd2ss xmm0, xmm0
movss dword [esi + 4], xmm0
jmp 0x6cc4dbef
test al, al
je 0x6cc4dcb9
mov eax, dword [ebp + 0x10]
xor edi, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], eax
lea esi, [esi]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x24]
imul esi, dword [esp + 0x18], 0x1c
movzx eax, byte [ebx]
lea ecx, [ebx + 1]
add edi, esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x5c], ecx
mov byte [edi + 0xc], al
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
mov ebp, dword [esp + 0x28]
mov dword [edi + 0x10], eax
mov eax, dword [esp + 0x20]
add ebp, dword [eax + 0x2c]
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
add eax, esi
movzx edi, byte [eax + 0xc]
mov ecx, edi
mov edx, edi
movzx ecx, cl
test dl, dl
je 0x6cc4e1c9
mov esi, dword [eax + 0x10]
xor eax, eax
jmp 0x6cc4e193
mov dword [esi + eax*4], edx
add eax, 1
cmp ax, cx
jae 0x6cc4e1b9
cmp dword [esp + 0x14], 0x5344424b
mov edx, dword [ebx + eax*4 + 1]
jne 0x6cc4e188
jmp 0x6cc4e1ac
mov edx, dword [ebx + eax*4 + 1]
bswap edx
mov dword [esi + eax*4], edx
add eax, 1
cmp ax, cx
jb 0x6cc4e1a8
mov eax, edi
movzx edi, al
mov eax, dword [esp + 0x2c]
lea eax, [eax + edi*4]
mov dword [esp + 0x5c], eax
add dword [esp + 0x18], 1
movzx eax, byte [ebp + 0xb]
mov edi, dword [esp + 0x18]
cmp di, ax
jb 0x6cc4e128
movzx edx, byte [ebp]
jmp 0x6cc4dcb9
cmp byte [ebp + 0xb], 0
je 0x6cc4dcd6
xor edi, edi
jmp 0x6cc4e25f
cmp word [esp + 0x3c], 0x2b
bswap eax
mov dword [esi], eax
je 0x6cc4e380
movzx edx, word [ebx + 5]
lea eax, [ebx + 7]
mov dword [esp + 0x5c], eax
mov eax, edx
rol ax, 8
and dh, 1
je 0x6cc4e398
mov ecx, eax
xor edx, edx
add ebx, 9
shr cx, 1
mov dl, cl
and dl, 2
mov dh, ah
mov word [esi + 8], dx
movzx eax, word [ebx - 2]
mov dword [esp + 0x5c], ebx
rol ax, 8
mov word [esi + 0xa], ax
movzx eax, byte [ebp + 0xb]
add edi, 1
cmp di, ax
jae 0x6cc4e314
mov ebx, dword [esp + 0x5c]
imul esi, edi, 0x1c
pxor xmm0, xmm0
add esi, dword [ebp + 0x10]
movzx eax, byte [ebx]
cvtsi2sd xmm0, eax
divsd xmm0, qword [0x6cc6d670]
movsd qword [esp], xmm0
call dword [sym.imp.ucrtbase.dll_log10]
cmp dword [esp + 0x14], 0x5344424b
lea edx, [ebx + 5]
movsd xmm0, qword [0x6cc6d678]
fstp qword [esp + 0x18]
mulsd xmm0, qword [esp + 0x18]
mov dword [esp + 0x5c], edx
addsd xmm0, qword [0x6cc6d680]
mov eax, dword [ebx + 1]
cvtsd2ss xmm0, xmm0
movss dword [esi + 4], xmm0
je 0x6cc4e200
cmp word [esp + 0x3c], 0x2b
mov dword [esi], eax
je 0x6cc4e380
movzx eax, word [ebx + 5]
lea edx, [ebx + 7]
mov dword [esp + 0x5c], edx
test al, 1
je 0x6cc4e3b0
mov ecx, eax
xor edx, edx
add ebx, 9
shr cx, 1
add edi, 1
mov dl, cl
and dl, 2
mov dh, ah
mov word [esi + 8], dx
movzx eax, word [ebx - 2]
mov dword [esp + 0x5c], ebx
mov word [esi + 0xa], ax
movzx eax, byte [ebp + 0xb]
cmp di, ax
jb 0x6cc4e25f
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
mov edx, dword [eax + 0x2c]
add edx, ebp
cmp byte [edx + 0xb], 0
je 0x6cc4dcd6
lea ebx, [esp + 0x5c]
xor esi, esi
mov ecx, edx
mov edi, esi
mov esi, dword [esp + 0x80]
lea esi, [esi]
mov edx, dword [esi + 0x68]
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc], edx
imul edx, edi, 0x1c
add edx, dword [ecx + 0x10]
add edi, 1
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], edx
call fcn.6cc4cf60
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x2c]
add ecx, ebp
movzx edx, byte [ecx + 0xb]
cmp di, dx
jb 0x6cc4e340
jmp 0x6cc4dcd6
movzx eax, word [0x6cc6d68c]
mov word [esi + 8], ax
xor eax, eax
jmp 0x6cc4e24b
mov byte [esi + 8], 0xff
add ebx, 9
mov byte [esi + 9], ah
movzx eax, word [ebx - 2]
jmp 0x6cc4e243
mov byte [esi + 8], 0xff
add ebx, 9
mov byte [esi + 9], ah
movzx eax, word [ebx - 2]
mov dword [esp + 0x5c], ebx
jmp 0x6cc4e24b
mov edx, dword [ebx + eax*4 + 3]
bswap edx
mov dword [esi + eax*4], edx
add eax, 1
cmp ax, cx
jb 0x6cc4e3d0
mov eax, edi
movzx edi, al
mov eax, dword [esp + 0x18]
lea eax, [eax + edi*4]
mov dword [esp + 0x5c], eax
movzx edx, byte [ebp]
jmp 0x6cc4dccd
lea ecx, [ebx - 1]
xor eax, eax
mov edi, edx
mov dword [edx + ebx - 4], 0
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x2c]
jmp 0x6cc4dc4b
movzx eax, byte [ebx + 2]
lea edi, [ebx + 3]
mov dword [esp + 0x18], edi
mov dword [esp + 0x5c], edi
mov byte [ebp + 0xc], al
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
add ebp, dword [eax + 0x2c]
movzx edi, byte [ebp + 0xc]
mov eax, edi
movzx ecx, al
test al, al
je 0x6cc4e4a1
mov esi, dword [ebp + 0x14]
xor eax, eax
jmp 0x6cc4e46b
mov dword [esi + eax*4], edx
add eax, 1
cmp ax, cx
jae 0x6cc4e491
cmp dword [esp + 0x14], 0x5344424b
mov edx, dword [ebx + eax*4 + 3]
jne 0x6cc4e460
jmp 0x6cc4e484
mov edx, dword [ebx + eax*4 + 3]
bswap edx
mov dword [esi + eax*4], edx
add eax, 1
cmp ax, cx
jb 0x6cc4e480
mov eax, edi
movzx edi, al
mov eax, dword [esp + 0x18]
lea eax, [eax + edi*4]
mov dword [esp + 0x5c], eax
movzx edx, byte [ebp]
jmp 0x6cc4dc7e
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 0x10]
mov dword [edi + 0x16], 0
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
movzx ebx, word [esp + 0x3e]
mov ebp, eax
mov dword [edi + 0x28], eax
test bx, bx
je 0x6cc4e543
mov edi, dword [esp + 0x5c]
lea esi, [ebx + ebx*4]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov edx, edi
add esi, edi
lea esi, [esi]
movzx ecx, byte [edx]
cmp ebx, 0x5344424b
mov byte [eax], cl
mov ecx, dword [edx + 1]
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0xff
mov dword [eax + 0xe], 0
mov ebp, ecx
bswap ebp
cmove ecx, ebp
add edx, 5
add eax, 0x14
mov dword [eax - 0x10], ecx
xor ecx, ecx
mov word [eax - 2], cx
cmp esi, edx
jne 0x6cc4e4f8
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x18]
lea eax, [ebx + ebx*4]
add eax, edi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x20]
movzx esi, word [esp + 0x4c]
movzx edi, word [eax + 0x16]
test si, si
je 0x6cc4dd0f
movzx eax, word [esp + 0x3e]
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x5c]
mov ebx, eax
add ebx, esi
mov edx, ecx
mov dword [esp + 0x28], ecx
mov ecx, eax
mov word [esp + 0x18], bx
jmp 0x6cc4e5f3
bswap ebx
mov dword [eax + 4], ebx
mov ebx, dword [edx + 5]
mov esi, ebx
bswap esi
mov dword [eax + 8], esi
cmp ebx, 0xffffffff
je 0x6cc4e63e
movzx ebx, byte [edx + 9]
mov byte [eax + 0xc], bl
movzx ebx, word [edx + 0xa]
rol bx, 8
mov word [eax + 0xe], bx
movzx ebx, word [edx + 0xc]
rol bx, 8
mov word [eax + 0x10], bx
movzx ebx, byte [edx + 0xe]
mov byte [eax + 0x13], 0
shr bl, 3
and ebp, 4
mov byte [eax + 0x12], bl
jne 0x6cc4e5d5
mov eax, dword [esp + 0x20]
add edi, 1
mov word [eax + 0x16], di
test esi, esi
je 0x6cc4e5e2
mov eax, dword [esp + 0x20]
add word [eax + 0x18], 1
add ecx, 1
add edx, 0xf
cmp word [esp + 0x18], cx
je 0x6cc4dcf9
mov ebx, dword [esp + 0x24]
movzx eax, cx
movzx ebp, byte [edx]
lea eax, [eax + eax*4]
cmp dword [esp + 0x14], 0x5344424b
lea eax, [ebx + eax*4]
mov ebx, ebp
mov byte [eax], bl
mov ebx, dword [edx + 1]
je 0x6cc4e580
mov dword [eax + 4], ebx
mov esi, dword [edx + 5]
mov dword [eax + 8], esi
cmp esi, 0xffffffff
je 0x6cc4e657
movzx ebx, byte [edx + 9]
mov byte [eax + 0xc], bl
movzx ebx, word [edx + 0xa]
mov word [eax + 0xe], bx
movzx ebx, word [edx + 0xc]
jmp 0x6cc4e5b3
mov dword [eax + 8], 0
movzx ebx, byte [edx + 9]
xor esi, esi
mov byte [eax + 0xc], bl
movzx ebx, word [edx + 0xa]
jmp 0x6cc4e5a3
mov dword [eax + 8], 0
movzx ebx, byte [edx + 9]
xor esi, esi
mov byte [eax + 0xc], bl
movzx ebx, word [edx + 0xa]
jmp 0x6cc4e631
shl eax, 3
mov dword [esp], eax
call edx
mov dword [edi + 0x3c], eax
movzx eax, word [edi + 0x18]
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
cmp word [edi + 0x18], 0
mov dword [edi + 0x40], eax
je 0x6cc4dd61
mov edi, dword [esp + 0x20]
xor esi, esi
mov ecx, dword [edi + 0x3c]
lea esi, [esi]
nop
mov ebx, dword [esp + 0x5c]
lea edi, [esi*8]
lea ebp, [ecx + edi]
mov edx, ebx
sub edx, dword [esp + 0x84]
add ebx, 4
mov dword [eax + esi*4], edx
mov eax, dword [ebx - 4]
cmp dword [esp + 0x14], 0x5344424b
mov dword [esp + 0x5c], ebx
mov edx, eax
bswap edx
cmove eax, edx
imul edx, eax, 0x1c
mov dword [ebp], eax
mov eax, dword [esp + 0x80]
mov dword [esp], edx
mov dword [esp + 0x18], edx
call dword [eax + 0x68]
mov edx, dword [esp + 0x18]
mov dword [ebp + 4], eax
mov ebp, dword [esp + 0x20]
mov eax, dword [ebp + 0x3c]
mov eax, dword [eax + edi + 4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.6cc69930
mov ecx, dword [ebp + 0x3c]
lea eax, [ecx + edi]
mov edi, dword [eax]
test edi, edi
je 0x6cc4e7ea
mov ebp, dword [eax + 4]
xor edx, edx
xor eax, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], esi
jmp 0x6cc4e78e
bswap esi
mov dword [eax], esi
mov esi, dword [ebx - 0x16]
rol cx, 8
add edx, 1
bswap esi
mov dword [eax + 4], esi
mov esi, dword [ebx - 0x12]
bswap esi
mov dword [eax + 8], esi
mov esi, dword [ebx - 0xe]
bswap esi
mov dword [eax + 0xc], esi
mov esi, dword [ebx - 0xa]
mov word [eax + 0x14], cx
movzx ecx, word [ebx - 4]
bswap esi
mov dword [eax + 0x10], esi
rol cx, 8
mov word [eax + 0x16], cx
movzx ecx, word [ebx - 2]
rol cx, 8
mov word [eax + 0x18], cx
movzx eax, dx
cmp eax, edi
jae 0x6cc4e7de
imul eax, eax, 0x1c
mov esi, dword [ebx]
add ebx, 0x1a
movzx ecx, word [ebx - 6]
add eax, ebp
cmp dword [esp + 0x14], 0x5344424b
je 0x6cc4e740
mov dword [eax], esi
mov esi, dword [ebx - 0x16]
add edx, 1
mov dword [eax + 4], esi
mov esi, dword [ebx - 0x12]
mov dword [eax + 8], esi
mov esi, dword [ebx - 0xe]
mov dword [eax + 0xc], esi
mov esi, dword [ebx - 0xa]
mov word [eax + 0x14], cx
movzx ecx, word [ebx - 4]
mov dword [eax + 0x10], esi
mov word [eax + 0x16], cx
movzx ecx, word [ebx - 2]
mov word [eax + 0x18], cx
movzx eax, dx
cmp eax, edi
jb 0x6cc4e78e
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], ebx
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add esi, 1
cmp si, word [eax + 0x18]
jae 0x6cc4dd61
mov eax, dword [eax + 0x40]
jmp 0x6cc4e6a8
movzx edi, di
lea edx, [edi + edi*2]
shl edx, 2
mov dword [esp], edx
call eax
mov edi, dword [esp + 0x20]
mov dword [edi + 0x34], eax
movzx eax, word [edi + 0x16]
shl eax, 2
mov dword [esp], eax
mov eax, dword [esp + 0x80]
call dword [eax + 0x68]
cmp word [edi + 0x16], 0
mov dword [edi + 0x38], eax
je 0x6cc4dd34
mov edi, dword [esp + 0x20]
xor ebx, ebx
mov ebp, dword [edi + 0x34]
mov dword [esp + 0x24], ebp
mov ebp, edi
jmp 0x6cc4e8ef
mov ecx, eax
shr eax, 0xb
and eax, 7
bswap ecx
mov word [edi + 6], cx
mov byte [edi], al
movzx edx, word [edx + 6]
mov eax, ecx
rol dx, 8
mov ecx, dword [esp + 0x18]
mov word [edi + 2], dx
movzx edx, ax
mov eax, dword [esp + 0x80]
shl edx, 4
mov dword [esp], edx
mov dword [esp + 0x24], edx
mov dword [esp + 0x5c], ecx
call dword [eax + 0x68]
mov edx, dword [esp + 0x24]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x34]
mov eax, dword [eax + esi + 8]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.6cc69930
mov eax, dword [ebp + 0x34]
movss xmm1, dword [0x6cc6d690]
add esi, eax
mov dword [esp + 0x24], eax
movzx eax, byte [esi]
test al, al
je 0x6cc4e940
cmp al, 1
je 0x6cc4e9db
cmp al, 3
je 0x6cc4ea79
cmp al, 4
je 0x6cc4eb15
add ebx, 1
cmp bx, word [ebp + 0x16]
jae 0x6cc4dd34
mov eax, dword [ebp + 0x38]
mov edx, dword [esp + 0x5c]
lea esi, [ebx + ebx*2]
shl esi, 2
lea edi, [edx + 8]
mov ecx, edx
sub ecx, dword [esp + 0x84]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x24]
mov dword [eax + ebx*4], ecx
mov eax, dword [edx]
add edi, esi
cmp dword [esp + 0x14], 0x5344424b
je 0x6cc4e850
mov ecx, eax
mov word [edi + 6], ax
shr ecx, 0x13
and ecx, 7
mov byte [edi], cl
movzx edx, word [edx + 6]
jmp 0x6cc4e86a
movzx ecx, word [esi + 6]
mov byte [esi + 4], 0
test cx, cx
je 0x6cc4e8df
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov edx, dword [esi + 8]
movzx esi, cx
lea edi, [esi + esi*4]
add edi, eax
lea esi, [esi]
nop
movzx ecx, word [eax]
pxor xmm0, xmm0
mov ebp, ecx
rol bp, 8
cmp ebx, 0x5344424b
cmove ecx, ebp
add eax, 5
add edx, 0x10
mov word [edx - 0x10], cx
movzx ecx, byte [eax - 3]
mov byte [edx - 0xe], cl
movzx ecx, byte [eax - 2]
cvtsi2ss xmm0, ecx
divss xmm0, xmm1
movss dword [edx - 0xc], xmm0
movzx ecx, byte [eax - 1]
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm0, xmm1
movss dword [edx - 8], xmm0
cmp edi, eax
jne 0x6cc4e970
mov edi, dword [esp + 0x18]
lea eax, [esi + esi*4]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
add edi, eax
mov dword [esp + 0x5c], edi
jmp 0x6cc4e8df
movzx ecx, word [esi + 6]
mov byte [esi + 4], 1
test cx, cx
je 0x6cc4e8df
mov edi, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov edx, dword [esi + 8]
movzx esi, cx
movss xmm2, dword [0x6cc6d690]
lea ecx, [esi + esi*2]
mov eax, edi
lea edi, [edi + ecx*2]
lea esi, [esi]
mov ecx, dword [eax]
cmp ebx, 0x5344424b
pxor xmm0, xmm0
mov ebp, ecx
bswap ebp
cmove ecx, ebp
add eax, 6
add edx, 0x10
mov dword [edx - 0x10], ecx
movzx ecx, byte [eax - 2]
cvtsi2ss xmm0, ecx
divss xmm0, xmm2
movss dword [edx - 0xc], xmm0
movzx ecx, byte [eax - 1]
pxor xmm0, xmm0
cvtsi2ss xmm0, ecx
divss xmm0, xmm2
movss dword [edx - 8], xmm0
cmp eax, edi
jne 0x6cc4ea18
mov edi, dword [esp + 0x18]
lea eax, [esi + esi*2]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
lea eax, [edi + eax*2]
mov dword [esp + 0x5c], eax
jmp 0x6cc4e8df
movzx ecx, word [esi + 6]
mov byte [esi + 4], 1
test cx, cx
je 0x6cc4e8df
mov eax, dword [esp + 0x18]
movzx edi, cx
mov dword [esp + 0x28], ebx
mov edx, dword [esi + 8]
mov esi, edi
shl esi, 4
mov ebx, dword [esp + 0x14]
add esi, eax
jmp 0x6cc4eacd
bswap ecx
mov dword [edx], ecx
mov ecx, dword [eax + 0xc]
add eax, 0x10
movss dword [edx + 4], xmm0
movss xmm0, dword [eax - 8]
add edx, 0x10
movss dword [edx - 8], xmm0
bswap ecx
mov dword [edx - 4], ecx
cmp esi, eax
je 0x6cc4eafd
mov ecx, dword [eax]
movss xmm0, dword [eax + 4]
cmp ebx, 0x5344424b
je 0x6cc4eaa8
mov dword [edx], ecx
mov ecx, dword [eax + 0xc]
add eax, 0x10
add edx, 0x10
movss dword [edx - 0xc], xmm0
movss xmm0, dword [eax - 8]
movss dword [edx - 8], xmm0
mov dword [edx - 4], ecx
cmp esi, eax
jne 0x6cc4eacd
mov eax, edi
mov edi, dword [esp + 0x18]
shl eax, 4
mov ebx, dword [esp + 0x28]
add edi, eax
mov dword [esp + 0x5c], edi
jmp 0x6cc4e8df
movzx ecx, word [esi + 6]
mov byte [esi + 4], 0
test cx, cx
je 0x6cc4e8df
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov eax, dword [esi + 8]
movzx esi, cx
movss xmm0, dword [0x6cc6d63c]
lea edi, [esi + esi*2]
add edi, edx
lea esi, [esi]
movzx ecx, word [edx]
mov ebp, ecx
rol bp, 8
cmp ebx, 0x5344424b
cmove ecx, ebp
add edx, 3
add eax, 0x10
mov word [eax - 0x10], cx
movzx ecx, byte [edx - 1]
mov dword [eax - 0xc], 0
movss dword [eax - 8], xmm0
mov byte [eax - 0xe], cl
cmp edi, edx
jne 0x6cc4eb50
mov edi, dword [esp + 0x18]
lea eax, [esi + esi*2]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
add edi, eax
mov dword [esp + 0x5c], edi
jmp 0x6cc4e8df
mov dword [edi + 0x20], 0
jmp 0x6cc4de22