Function at 0x548e50
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x30
push esi
mov esi, dword [esp + 0x38]
xor edx, edx
xor al, al
xor cl, cl
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], edx
mov byte [esp + 7], al
cmp byte [esi + 2], al
jbe 0x549164
fldz
push ebp
jmp 0x548e7e
xor edx, edx
mov cl, byte [esi + 1]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
movzx edx, cl
movzx edx, word [esi + edx*2 + 0x790]
mov dword [esp + 0x34], edx
xor dl, dl
mov byte [esp + 0xa], dl
test cl, cl
jbe 0x549141
movzx eax, al
mov dword [esp + 0x2c], eax
imul eax, eax, 0x33
mov dword [esp + 0x30], eax
jmp 0x548eba
mov eax, dword [esp + 0x30]
movzx ecx, dl
mov dx, word [esi + ecx*2 + 0x792]
sub dx, word [esi + ecx*2 + 0x790]
add eax, ecx
movzx edx, dx
lea ecx, [esi + eax*2 + 0x1e84]
mov dword [esp + 0x14], edx
movzx edx, word [ecx]
test dx, dx
jl 0x548efc
mov eax, 0xff
cmp dx, ax
jg 0x548efc
movsx edx, word [ecx]
mov ecx, edx
sar ecx, 2
and edx, 3
jmp 0x548f00
xor ecx, ecx
xor edx, edx
mov ebp, dword [esp + 0x20]
fld dword [edx*4 + 0x59b530]
mov eax, dword [esp + 0x18]
fmul dword [ecx*4 + 0x59b430]
mov ecx, dword [esp + 0x2c]
add eax, ebp
cmp byte [ecx + esi + 5], 0
fstp dword [esp + 0x24]
movzx ebp, ax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov byte [esp + 9], 0
jbe 0x549126
fld dword [esp + 0x24]
xor edx, edx
cmp dx, ax
jae 0x549100
mov ecx, dword [esp + 0x1c]
dec ax
shr ax, 2
inc ax
movzx eax, ax
lea edx, [ecx + eax*4]
movzx ebp, bp
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], edx
movzx esi, word [esp + 0x10]
movzx ecx, word [ebx + esi*2]
test cx, cx
jge 0x548f98
movsx ecx, cx
mov eax, ecx
neg eax
cmp eax, 0x2000
jge 0x548fb2
add ecx, ecx
add ecx, ecx
mov edx, 0x592ae8
sub edx, ecx
fld dword [edx]
fchs
fstp dword [esp + 0xc]
jmp 0x548fbf
mov eax, 0x2000
cmp cx, ax
jge 0x548fb2
movsx ecx, cx
fld dword [ecx*4 + 0x592ae8]
fstp dword [esp + 0xc]
jmp 0x548fbf
fxch st(1)
mov byte [esp + 8], 0x11
fst dword [esp + 0xc]
fxch st(1)
fld dword [esp + 0xc]
movzx edx, bp
fmul st(1)
fstp dword [edi + edx*4]
movzx ecx, word [ebx + esi*2 + 2]
test cx, cx
jge 0x548ff8
movsx ecx, cx
mov eax, ecx
neg eax
cmp eax, 0x2000
jge 0x549012
add ecx, ecx
add ecx, ecx
mov eax, 0x592ae8
sub eax, ecx
fld dword [eax]
fchs
fstp dword [esp + 0xc]
jmp 0x54901f
mov eax, 0x2000
cmp cx, ax
jge 0x549012
movsx ecx, cx
fld dword [ecx*4 + 0x592ae8]
fstp dword [esp + 0xc]
jmp 0x54901f
fxch st(1)
mov byte [esp + 8], 0x11
fst dword [esp + 0xc]
fxch st(1)
fld dword [esp + 0xc]
fmul st(1)
fstp dword [edi + edx*4 + 4]
movzx ecx, word [ebx + esi*2 + 4]
test cx, cx
jge 0x549056
movsx ecx, cx
mov eax, ecx
neg eax
cmp eax, 0x2000
jge 0x549070
add ecx, ecx
add ecx, ecx
mov eax, 0x592ae8
sub eax, ecx
fld dword [eax]
fchs
fstp dword [esp + 0xc]
jmp 0x54907d
mov eax, 0x2000
cmp cx, ax
jge 0x549070
movsx ecx, cx
fld dword [ecx*4 + 0x592ae8]
fstp dword [esp + 0xc]
jmp 0x54907d
fxch st(1)
mov byte [esp + 8], 0x11
fst dword [esp + 0xc]
fxch st(1)
fld dword [esp + 0xc]
fmul st(1)
fstp dword [edi + edx*4 + 8]
movzx ecx, word [ebx + esi*2 + 6]
test cx, cx
jge 0x5490b4
movsx ecx, cx
mov eax, ecx
neg eax
cmp eax, 0x2000
jge 0x5490ce
add ecx, ecx
add ecx, ecx
mov eax, 0x592ae8
sub eax, ecx
fld dword [eax]
fchs
fstp dword [esp + 0xc]
jmp 0x5490db
mov eax, 0x2000
cmp cx, ax
jge 0x5490ce
movsx ecx, cx
fld dword [ecx*4 + 0x592ae8]
fstp dword [esp + 0xc]
jmp 0x5490db
fxch st(1)
mov byte [esp + 8], 0x11
fst dword [esp + 0xc]
fxch st(1)
fld dword [esp + 0xc]
add dword [esp + 0x10], 4
fmul st(1)
add ebp, 4
sub dword [esp + 0x24], 1
fstp dword [edi + edx*4 + 0xc]
jne 0x548f67
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov cl, byte [esp + 9]
add ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
inc cl
mov dword [esp + 0x28], ebp
mov byte [esp + 9], cl
cmp cl, byte [edx + esi + 5]
jb 0x548f3f
fstp st(0)
mov dl, byte [esp + 0xa]
add dword [esp + 0x18], eax
inc dl
mov byte [esp + 0xa], dl
cmp dl, byte [esi + 1]
jb 0x548eb6
mov al, byte [esp + 0xb]
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x20], ecx
inc al
mov byte [esp + 0xb], al
cmp al, byte [esi + 2]
jb 0x548e7c
mov al, byte [esp + 8]
fstp st(0)
pop ebp
pop esi
add esp, 0x30
ret
mov al, cl
pop esi
add esp, 0x30
ret