Function at 0x52fb60
Capabilities:
Enumerate pe sections

Disassembly:
cmp byte [ecx + 9], 1
je 0x517b00
ret
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x3c
movzx eax, word [ecx + 0x12]
sar ax, 5
cmp word [ecx + 0x52], ax
je 0x517b78
movzx eax, word [ebx + 0x8b]
test ax, ax
je 0x517b65
movsx edx, byte [ebx + 0x25]
test dl, dl
je 0x517b65
test edx, edx
jle 0x517c48
cmp dword [0x5b508c], edx
jl 0x517c48
sub edx, 1
imul edx, dword [0x5b5090]
mov ecx, dword [0x5b5099]
mov ecx, dword [ecx + edx]
movsx edx, word [ebx + 6]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00404810
sub esp, 8
add esp, 0x3c
mov ecx, ebx
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.0052c140
movzx eax, word [ecx + 0x14]
sar ax, 5
cmp word [ecx + 0x54], ax
jne 0x517b17
movsx eax, word [ecx + 0x3c]
mov ecx, 0x5b62e0
mov dword [esp], eax
call fcn.00438280
mov ecx, ebx
movsx edi, word [eax + 0x48]
movsx esi, word [eax + 0x4a]
sub esp, 4
mov ebp, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
movsx eax, word [ebx + 0x40]
mov dword [esp + 0x10], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x1e]
movsx eax, word [eax + 0xe]
mov dword [esp + 8], eax
movsx eax, word [ebx + 0x54]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x52]
mov dword [esp], eax
call fcn.00517370
sub esp, 0x1c
test eax, eax
je 0x517c50
movsx edx, byte [ebx + 0x25]
test dl, dl
je 0x517c58
test edx, edx
jle 0x517db0
cmp edx, dword [0x5b508c]
jg 0x517db0
lea eax, [edx - 1]
mov ecx, dword [0x5b5099]
imul eax, dword [0x5b5090]
mov eax, dword [ecx + eax]
fld dword [eax + 0x72]
fstp dword [esp + 0x24]
fild word [ebp + 0x40]
fstp dword [esp + 0x28]
fld dword [esp + 0x24]
fld dword [esp + 0x28]
fcompi st(1)
fstp st(0)
jbe 0x517c58
movzx eax, word [ebx + 0x8b]
test ax, ax
jne 0x517b33
jmp 0x517b65
xor ecx, ecx
jmp 0x517b52
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
movsx eax, word [ebx + 6]
mov ecx, 0x5b39c8
mov dword [esp + 0xc], eax
movsx eax, word [ebx + 0x3c]
mov dword [esp + 8], eax
movsx eax, word [ebx + 0x40]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp], eax
call fcn.0054c4e0
sub esp, 0x10
test eax, eax
je 0x517b17
movsx eax, word [ebx + 0x3c]
mov ecx, 0x5b62e0
mov dword [esp], eax
call fcn.00438280
mov ecx, eax
movsx eax, word [ebx + 6]
sub esp, 4
mov dword [esp], eax
call fcn.00438290
sub esp, 4
test eax, eax
je 0x517b17
movsx eax, word [ebx + 0x3e]
movsx edx, word [ebx + 0x52]
cmp ax, dx
jg 0x517ce3
add eax, edi
cmp edx, eax
jge 0x517ce3
movsx eax, word [ebx + 0x40]
movsx edx, word [ebx + 0x54]
cmp ax, dx
jg 0x517ce3
add eax, esi
cmp edx, eax
jl 0x517d9c
movsx eax, word [ebx + 6]
mov ecx, 0x5b5040
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x1e]
mov dword [esp + 0x10], eax
movsx eax, word [ebx + 0x3c]
mov dword [esp + 0xc], eax
movsx eax, byte [ebx + 0x25]
mov dword [esp + 8], eax
movsx eax, word [ebx + 0x40]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp], eax
call fcn.0042ff40
sub esp, 0x18
test eax, eax
je 0x517b17
mov dword [esp], 0
mov ecx, ebx
call fcn.0052c160
push eax
movzx edx, word [ebx + 0x8b]
test dx, dx
je 0x517b65
movsx eax, byte [ebx + 0x25]
test al, al
je 0x517b65
test eax, eax
jle 0x517d98
cmp eax, dword [0x5b508c]
jg 0x517d98
sub eax, 1
imul eax, dword [0x5b5090]
mov ecx, dword [0x5b5099]
mov ecx, dword [ecx + eax]
mov dword [esp + 8], 0
movsx eax, word [ebx + 6]
mov dword [esp + 4], eax
movzx eax, dx
mov dword [esp], eax
call fcn.00404650
sub esp, 0xc
jmp 0x517b65
xor ecx, ecx
jmp 0x517d70
mov dword [esp], 0
mov ecx, ebx
call fcn.0050bbf0
push edx
jmp 0x517ce3
fld dword [0x72]
fstp st(0)
ud2
cmp byte [ecx + 9], 1
je 0x5183f0
ret
push ebx
mov ebx, ecx
sub esp, 0x18
movzx eax, word [ecx + 0x1a]
sar ax, 5
cmp word [ecx + 0x3e], ax
je 0x518410
add esp, 0x18
mov ecx, ebx
pop ebx
jmp fcn.0052c140
movzx eax, word [ecx + 0x1c]
sar ax, 5
cmp word [ecx + 0x40], ax
jne 0x518404
mov dword [esp], 0
call fcn.0052c160
movsx eax, word [ebx + 0x40]
mov ecx, ebx
sub esp, 4
mov dword [esp + 0xc], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp + 8], eax
movsx eax, word [ebx + 0x54]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x52]
mov dword [esp], eax
call fcn.004de540
mov ecx, 0x5b39c8
sub esp, 0x10
mov dword [esp + 8], 0x1e
movsx eax, word [ebx + 0x40]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp], eax
call fcn.005546c0
sub esp, 0xc
jmp 0x518404
cmp byte [ecx + 9], 1
je 0x518490
ret
push esi
push ebx
mov ebx, ecx
sub esp, 0x24
call fcn.0052df20
movzx eax, word [ebx + 0x12]
movsx edx, word [ebx + 0x52]
sar ax, 5
cmp dx, ax
jne 0x5184be
movzx eax, word [ebx + 0x14]
movsx ecx, word [ebx + 0x54]
sar ax, 5
cmp cx, ax
je 0x5184d0
add esp, 0x24
mov ecx, ebx
pop ebx
pop esi
jmp fcn.0052c140
mov dword [esp + 0x18], 4
mov dword [esp + 0x14], 4
movsx eax, word [ebx + 0x40]
mov dword [esp + 0x10], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x1e]
movsx eax, word [eax + 0xe]
mov dword [esp + 4], ecx
mov ecx, ebx
mov dword [esp], edx
mov dword [esp + 8], eax
call fcn.00517370
sub esp, 0x1c
test eax, eax
je 0x51858b
movsx ecx, word [ebx + 0x40]
mov eax, dword [0x59ad30]
movsx edx, word [ebx + 0x3e]
imul eax, ecx
add eax, edx
imul eax, eax, 0xe
add eax, dword [0x5b39d0]
movzx esi, word [eax]
and si, 0xf00
cmp si, 0x300
je 0x518591
movsx esi, word [ebx + 6]
mov dword [esp], 0
mov ecx, ebx
call fcn.0052c160
movsx eax, word [ebx + 0x40]
mov ecx, 0x5b5220
sub esp, 4
mov dword [esp + 8], eax
movsx eax, word [ebx + 0x3e]
mov dword [esp + 4], eax
movsx eax, word [ebx + 6]
mov dword [esp], eax
call fcn.004fb510
mov ecx, 0x5b5300
sub esp, 0xc
mov dword [esp], esi
call fcn.0050f960
sub esp, 4
test eax, eax
je 0x5184be
add esp, 0x24
pop ebx
pop esi
ret
movsx eax, word [eax + 4]
test eax, eax
jle 0x5185da
cmp dword [0x5b522c], eax
jl 0x5185da
sub eax, 1
imul eax, dword [0x5b5230]
mov esi, dword [0x5b5239]
mov esi, dword [esi + eax]
movsx ax, byte [ebx + 0x25]
cmp word [esi + 4], ax
jne 0x51858b
mov dword [esp + 4], ecx
mov ecx, ebx
mov dword [esp + 8], 1
mov dword [esp], edx
call fcn.00516e60
sub esp, 0xc
jmp 0x51858b
movzx eax, word [4]
ud2
push esi
push ebx
mov ebx, ecx
sub esp, 0x14
movzx eax, byte [ecx + 9]
cmp al, 1
je 0x518860
cmp al, 5
je 0x518820
add esp, 0x14
pop ebx
pop esi
ret
movzx eax, byte [ebx + 0xc]
movzx ecx, byte [ecx + 0xb]
lea esi, [eax + eax*8]
mov edx, ecx
lea eax, [eax + esi*2]
add eax, dword [ebx + 0x6d]
movsx eax, word [eax + 5]
cmp ecx, eax
je 0x518928
cmp dl, 1
jne 0x518813
cmp byte [ebx + 0x10], 0
jne 0x518813
mov dword [esp], 0
mov ecx, ebx
call fcn.0052c430
sub esp, 4
jmp 0x518813
movsx eax, word [ecx + 0x47]
mov dword [esp + 0xc], eax
movsx eax, word [ecx + 0x45]
mov dword [esp + 8], eax
movzx eax, word [ecx + 0x14]
sar ax, 5
cwde
mov dword [esp + 4], eax
movzx eax, word [ecx + 0x12]
mov ecx, 0x5ba360
sar ax, 5
cwde
mov dword [esp], eax
call fcn.00499d60
sub esp, 0x10
cmp eax, 3
jg 0x5188f0
movzx eax, word [ebx + 0x1a]
movzx edx, word [ebx + 0x1c]
movsx ecx, word [ebx + 0x45]
movsx esi, word [ebx + 0x47]
sar ax, 5
sar dx, 5
cmp cx, ax
jne 0x5188bd
cmp si, dx
je 0x5188da
movsx edx, dx
cwde
mov dword [esp + 8], ecx
mov ecx, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004de540
sub esp, 0x10
mov ecx, ebx
call fcn.0052fa90
mov byte [ebx + 0xb], 1
add esp, 0x14
pop ebx
pop esi
ret
movsx eax, byte [ebx + 0xad]
mov dword [esp + 0xc], 3
mov ecx, ebx
mov dword [esp + 8], eax
movsx eax, word [ebx + 0x47]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x45]
mov dword [esp], eax
call fcn.005185f0
sub esp, 0x10
jmp 0x518813
mov ecx, ebx
call fcn.0051ebd0
movsx eax, word [ebx + 0x47]
mov ecx, ebx
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x45]
mov dword [esp], eax
call fcn.00537c70
mov ecx, ebx
sub esp, 8
call fcn.004deac0
movzx edx, byte [ebx + 0xb]
jmp 0x51883f
push esi
push ebx
mov ebx, ecx
sub esp, 0x14
cmp byte [ecx + 0x9e], 0
je 0x520066
cmp byte [ecx + 0x71], 0
jne 0x520080
mov dword [esp], 2
mov ecx, ebx
call fcn.0052c430
sub esp, 4
add esp, 0x14
pop ebx
pop esi
ret
movsx eax, word [ecx + 0x3c]
test ax, ax
je 0x520077
mov dword [esp], eax
mov ecx, 0x5b5300
call fcn.0050f960
sub esp, 4
test eax, eax
jne 0x520180
movsx eax, word [ebx + 0x3c]
cmp ax, word [ebx + 6]
je 0x520180
test eax, eax
jle 0x5201fd
cmp eax, dword [0x5b5310]
jg 0x5201fd
sub eax, 1
imul eax, dword [0x5b5314]
mov edx, dword [0x5b531d]
mov esi, dword [edx + eax]
movsx eax, byte [esi + 0x25]
test al, al
jne 0x5201ab
cmp word [esi + 0x12], 0
js 0x520066
movzx eax, word [esi + 0x1a]
movzx edx, word [esi + 0x1c]
sar ax, 5
cmp word [ebx + 0x3e], ax
jne 0x520109
sar dx, 5
cmp word [ebx + 0x40], dx
je 0x520120
mov dword [esp], esi
mov ecx, ebx
call fcn.0051f840
sub esp, 4
cmp byte [ebx + 0x3b], 0
je 0x520077
mov eax, dword [ebx + 0x1e]
movsx edx, word [ebx + 0x1a]
mov ecx, dword [eax + 0x14]
movsx eax, word [ebx + 0x12]
sub eax, edx
mov edx, eax
neg edx
cmovns eax, edx
cmp eax, ecx
jg 0x520077
movsx edx, word [ebx + 0x1c]
movsx eax, word [ebx + 0x14]
sub eax, edx
mov edx, eax
neg edx
cmovns eax, edx
cmp ecx, eax
jl 0x520077
cmp byte [ebx + 9], 5
jne 0x5201eb
cmp byte [ebx + 0x10], 0
jne 0x520077
mov dword [esp], esi
mov ecx, ebx
call fcn.0051f2c0
sub esp, 4
jmp 0x520077
cmp byte [0x5b31cb], 0
je 0x520066
cmp byte [ebx + 9], 5
je 0x520066
movzx eax, byte [ebx + 0x3b]
cmp byte [ebx + 0x42], al
je 0x5201cf
xor eax, eax
mov word [ebx + 0x3c], ax
jmp 0x520077
mov dword [esp], eax
mov ecx, ebx
call fcn.0051dd70
sub esp, 4
test eax, eax
jne 0x5200e2
cmp byte [esi + 0x22], 0xd
jne 0x520066
jmp 0x5200e2
movzx eax, word [ebx + 0x3e]
cmp word [ebx + 0x45], ax
jne 0x5201a0
movzx eax, word [ebx + 0x40]
cmp word [ebx + 0x47], ax
jne 0x5201a0
xor edx, edx
mov word [ebx + 0x43], dx
jmp 0x5201a0
mov dword [esp], esi
mov ecx, ebx
call fcn.0051fdb0
sub esp, 4
jmp 0x520077
movzx eax, byte [0x25]
ud2
mov byte [ecx + 9], 3
ret
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x30
fld dword [ecx + 0x58]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fldz
fcompi st(1)
fstp st(0)
jae 0x52fbf0
cmp byte [0x5b44ee], 0
jne 0x52fbff
cmp byte [ebx + 0x3b], 0xf
ja case.0x52fb8e.0
movzx eax, byte [ebx + 0x3b]
jmp dword [eax*4 + 0x5ab0e4]
call fcn.0052fac0
movzx eax, word [ebx + 0x8b]
test ax, ax
je case.0x52fb8e.0
movsx edx, byte [ebx + 0x25]
test edx, edx
jle 0x52fdb8
cmp edx, dword [0x5b508c]
jg 0x52fdb8
sub edx, 1
imul edx, dword [0x5b5090]
mov ecx, dword [0x5b5099]
mov ecx, dword [ecx + edx]
movsx edx, word [ebx + 6]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00404810
sub esp, 8
add esp, 0x30
pop ebx
pop esi
pop edi
ret
cmp byte [ecx + 0x3b], 0xd
jne 0x52fb98
cmp byte [0x5b44ee], 0
je case.0x52fb8e.0
mov ecx, ebx
call fcn.0050a720
test eax, eax
jne 0x52fc4a
movsx eax, byte [ebx + 0x25]
test al, al
je 0x52fb84
test eax, eax
jle 0x52fdd3
cmp eax, dword [0x5b508c]
jg 0x52fdd3
sub eax, 1
imul eax, dword [0x5b5090]
mov edx, dword [0x5b5099]
mov eax, dword [edx + eax]
cmp byte [eax + 0x59b], 0
je 0x52fb84
movsx eax, byte [ebx + 0x22]
mov edx, dword [0x5b6a8c]
mov ecx, dword [ebx + 0x1e]
imul eax, eax, 0x84
lea esi, [edx + eax - 0x84]
movzx edx, word [ebx + 0x1c]
movzx eax, word [ebx + 0x1a]
mov edi, dword [esi + 0x20]
sar dx, 5
sar ax, 5
mov dword [esp + 0x14], edi
mov esi, dword [esi + 0x1c]
movsx edx, dx
cwde
mov dword [esp + 0x10], esi
movsx esi, word [ecx + 0x10]
lea esi, [edx + esi - 1]
mov dword [esp + 0xc], esi
movsx ecx, word [ecx + 0xe]
mov dword [esp + 4], edx
lea ecx, [eax + ecx - 1]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov ecx, 0x5b39c8
call fcn.0054e590
sub esp, 0x18
jmp 0x52fb84
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp fcn.00517dc0
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp fcn.00521da0
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp fcn.00521380
movzx eax, byte [ebx + 0x42]
cmp al, 1
je 0x52fd1b
cmp al, 0x10
je 0x52fda0
cmp al, 0x13
je 0x52fdbf
cmp al, 0x16
jne 0x52fd1b
mov ecx, ebx
call fcn.00525420
test eax, eax
je case.0x52fb8e.0
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp 0x520050
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp fcn.00530ed0
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp 0x518480
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp 0x5183e0
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp 0x518800
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp fcn.00520830
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp 0x531a20
add esp, 0x30
mov ecx, ebx
pop ebx
pop esi
pop edi
jmp 0x517af0
mov ecx, ebx
call fcn.00524ab0
test eax, eax
je case.0x52fb8e.0
jmp 0x52fd1b
xor ecx, ecx
jmp 0x52fbd4
mov ecx, ebx
call fcn.00524f50
test eax, eax
je case.0x52fb8e.0
jmp 0x52fd1b
movzx eax, byte [0x59b]
ud2
push ebx
sub esp, 0x28
movzx eax, byte [ecx + 9]
cmp al, 1
je 0x531a40
cmp al, 6
je 0x531b08
add esp, 0x28
pop ebx
ret
movzx eax, word [ecx + 0x1a]
movsx ebx, word [ecx + 0x52]
movzx edx, word [ecx + 0x1c]
sar ax, 5
cmp bx, ax
jne 0x531af8
movsx eax, word [ecx + 0x54]
sar dx, 5
cmp ax, dx
jne 0x531af8
movsx edx, word [ecx + 0x45]
sub ebx, edx
lea edx, [ebx + 2]
cmp edx, 4
ja 0x531a34
movsx edx, word [ecx + 0x47]
sub eax, edx
lea edx, [eax + 2]
cmp edx, 4
ja 0x531a34
movzx edx, byte [ecx + 0xcc]
test dl, dl
je 0x531b26
cmp dl, 3
jne 0x531a34
movzx eax, word [ecx + 0x8b]
test ax, ax
je 0x531a34
movsx edx, byte [ecx + 0x25]
test edx, edx
jle 0x531b9c
cmp edx, dword [0x5b508c]
jg 0x531b9c
sub edx, 1
imul edx, dword [0x5b5090]
mov ebx, dword [0x5b5099]
mov edx, dword [ebx + edx]
mov dword [esp + 8], 0
movsx ecx, word [ecx + 6]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov ecx, edx
call fcn.00404650
sub esp, 0xc
jmp 0x531a34
add esp, 0x28
pop ebx
jmp fcn.0052c140
mov dword [esp + 0x1c], ecx
call fcn.004de440
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x531a34
add esp, 0x28
pop ebx
jmp 0x52fa70
mov edx, ebx
neg edx
cmovs edx, ebx
cmp edx, 1
jg 0x531b3e
mov edx, eax
neg edx
cmovns eax, edx
cmp eax, 1
jle 0x531b47
add esp, 0x28
pop ebx
jmp fcn.00539b40
movzx edx, word [ecx + 0x8b]
test dx, dx
je 0x531a34
movsx eax, byte [ecx + 0x25]
test eax, eax
jle 0x531ba3
cmp eax, dword [0x5b508c]
jg 0x531ba3
sub eax, 1
imul eax, dword [0x5b5090]
mov ebx, dword [0x5b5099]
mov eax, dword [ebx + eax]
mov dword [esp + 8], 0
movsx ecx, word [ecx + 6]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, eax
call fcn.00404650
sub esp, 0xc
jmp 0x531a34
xor edx, edx
jmp 0x531ad1
xor eax, eax
jmp 0x531b7a