Function at 0x592db0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edx, dword [0xd48044]
mov dword [esp + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
movzx ebp, ax
shr eax, 0x10
mov dword [esp], eax
test edi, edi
je 0x592fb1
test esi, esi
je 0x592f7b
mov eax, 0x5e6ea9af
mul esi
mov ecx, edx
shr ecx, 0xb
imul eax, ecx, 0x15b0
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jbe 0x592fa6
lea esi, [esi]
nop
lea edx, [ecx - 8]
mov dword [esp + 0x14], ecx
mov eax, edx
mov dword [esp + 0x18], edx
shr eax, 3
mov dword [esp + 0x1c], esi
lea eax, [edi + eax*8 + 8]
mov dword [esp + 0x10], eax
lea esi, [esi]
movzx eax, byte [edi]
movzx edx, byte [edi + 2]
add edi, 8
movzx ecx, byte [edi - 3]
add eax, ebp
movzx ebp, byte [edi - 1]
mov esi, eax
movzx eax, byte [edi - 7]
mov dword [esp + 4], esi
add eax, esi
movzx esi, byte [edi - 5]
lea ebx, [edx + eax]
movzx edx, byte [edi - 2]
add esi, ebx
mov dword [esp + 8], ebx
movzx ebx, byte [edi - 4]
mov dword [esp + 0xc], esi
add ebx, esi
mov esi, dword [esp + 4]
add ecx, ebx
add eax, esi
mov esi, dword [esp + 8]
add edx, ecx
add ebp, edx
add eax, esi
mov esi, dword [esp + 0xc]
add eax, esi
add eax, ebx
add eax, ecx
add eax, edx
add eax, ebp
add dword [esp], eax
mov eax, dword [esp + 0x10]
cmp edi, eax
jne 0x592e30
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
and edx, 0xfffffff8
add edx, 8
cmp edx, ecx
jae 0x592fa0
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx]
add ebp, eax
lea eax, [edx + 1]
add dword [esp], ebp
mov edi, dword [esp]
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 1]
add ebp, eax
lea eax, [edx + 2]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 2]
add ebp, eax
lea eax, [edx + 3]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 3]
add ebp, eax
lea eax, [edx + 4]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 4]
add ebp, eax
lea eax, [edx + 5]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 5]
add ebp, eax
lea eax, [edx + 6]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 6]
add ebp, eax
lea eax, [edx + 7]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x592f3d
movzx eax, byte [ebx + 7]
add ebp, eax
add edi, ebp
mov dword [esp], edi
mov edi, dword [esp + 0x10]
mov eax, ecx
sub eax, edx
add edi, eax
mov ebx, 0x80078071
mov eax, ebp
mul ebx
mov eax, dword [esp]
shr edx, 0xf
imul edx, edx, 0xfff1
sub ebp, edx
mul ebx
mov ebx, edx
shr ebx, 0xf
imul ebx, ebx, 0xfff1
sub dword [esp], ebx
sub esi, ecx
mov ecx, 0x15b0
jne 0x592e10
mov eax, dword [esp]
shl eax, 0x10
add eax, ebp
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd48044]
jne 0x592fb8
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x10]
jmp 0x592f47
mov dword [esp + 0x10], edi
xor edx, edx
jmp 0x592ea8
mov eax, 1
jmp 0x592f83
call fcn.00401690
nop
nop
nop
sub esp, 0x3c
mov eax, dword [0xd48044]
mov dword [esp + 0x2c], eax
xor eax, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call 0x593010
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd48044]
jne 0x59300a
add esp, 0x3c
ret
call fcn.00401690
nop
push ebp
vpxor xmm0, xmm0, xmm0
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x50
mov edi, dword [ebp + 0xc]
mov eax, dword [0xd48044]
mov dword [esp + 0x4c], eax
xor eax, eax
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x14]
vmovdqu xmmword [esp + 0x1c], xmm0
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
vmovdqu xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.005935b0
mov ebx, eax
test eax, eax
je 0x593090
mov eax, dword [esp + 0x4c]
sub eax, dword [0xd48044]
jne 0x5930d2
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 4
mov dword [esp], esi
call fcn.00593370
mov ebx, eax
cmp eax, 1
je 0x5930c0
mov dword [esp], esi
call fcn.00593d60
test ebx, ebx
mov eax, 0xfffffffb
cmove ebx, eax
jmp 0x593074
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov dword [esp], esi
call fcn.00593d60
mov ebx, eax
jmp 0x593074
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x2c
mov eax, dword [0xd48044]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00593520
mov edx, dword [esp + 0x1c]
sub edx, dword [0xd48044]
jne 0x593110
add esp, 0x2c
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop