Function at 0x5924a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 0x14]
mov cl, byte [eax + 5]
cmp cl, 0xff
push edi
jle 0x5925df
mov dl, byte [esi + 0x40c]
cmp dl, 2
movsx eax, cl
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fsub dword [0x858b8c]
fstp dword [esp + 0xc]
jle 0x592570
movsx ebx, dl
xor ecx, ecx
test ebx, ebx
jle 0x59251b
lea edi, [esi + 0x410]
lea ebx, [ebx]
movsx eax, byte [edi]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x41
je 0x592517
movsx eax, byte [esi + 0x40c]
add ecx, 2
add edi, 0x20
cmp ecx, eax
jl 0x5924f0
test ecx, ecx
jne 0x59252b
mov byte [esi + 0x512], 0
mov byte [esi + 0x513], 0xff
jmp 0x592550
cmp ecx, ebx
jne 0x592541
sub dl, 2
mov byte [esi + 0x512], dl
mov byte [esi + 0x513], 0xff
jmp 0x592550
mov byte [esi + 0x512], cl
sub cl, 2
mov byte [esi + 0x513], cl
movsx edx, byte [esi + 0x411]
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x14]
push ecx
fild dword [esp + 0x14]
push ecx
fsub dword [0x858c84]
fstp dword [esp]
jmp 0x592585
lea eax, [esp + 0x14]
push eax
mov byte [esi + 0x512], 0xff
mov byte [esi + 0x513], 0xff
push 0
mov edi, dword [esp + 0x14]
mov ecx, esi
push edi
call fcn.00591bd0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x514], ecx
lea ecx, [esp + 0x20]
push ecx
push 0xbe800000
push edi
mov ecx, esi
mov dword [esi + 0x518], edx
mov dword [esi + 0x51c], eax
call fcn.00591bd0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x524], edx
mov dword [esi + 0x528], eax
mov dword [esi + 0x52c], ecx
mov eax, dword [esi + 0x14]
mov cl, byte [eax + 6]
cmp cl, 0xff
jle 0x592714
movsx edx, byte [eax + 7]
mov al, byte [esi + 0x40c]
movsx ecx, cl
sub edx, ecx
cmp al, 2
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
fild dword [esp + 0x10]
fmul dword [0x858b8c]
fiadd dword [esp + 0xc]
fsub dword [0x858b8c]
fstp dword [esp + 0xc]
jle 0x5926a5
movsx eax, byte [esi + 0x411]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x41
jne 0x592648
mov byte [esi + 0x533], 0xff
jmp 0x592679
movsx ecx, byte [esi + 0x421]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x592672
mov byte [esi + 0x532], 1
mov byte [esi + 0x533], 0xff
jmp 0x592680
mov byte [esi + 0x533], 1
mov byte [esi + 0x532], 0
movsx eax, byte [esi + 0x410]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x10], eax
lea edx, [esp + 0x14]
push edx
fild dword [esp + 0x14]
push edi
push ecx
fsub dword [0x858c84]
fstp dword [esp]
jmp 0x5926bf
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x14]
push ecx
push edi
mov byte [esi + 0x532], 0xff
mov byte [esi + 0x533], 0xff
push 0
mov ecx, esi
call fcn.00591bd0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esi + 0x534], edx
lea edx, [esp + 0x20]
push edx
push edi
mov dword [esi + 0x53c], ecx
push 0xbe800000
mov ecx, esi
mov dword [esi + 0x538], eax
call fcn.00591bd0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x544], eax
mov dword [esi + 0x548], ecx
mov dword [esi + 0x54c], edx
mov eax, dword [esi + 0x14]
mov cl, byte [eax + 0xa]
cmp cl, 0xff
jle 0x592879
movsx edx, byte [eax + 0xb]
mov bl, byte [esi + 0x40c]
movsx ecx, cl
sub edx, ecx
cmp bl, 2
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
fild dword [esp + 0x10]
fmul dword [0x858b8c]
fiadd dword [esp + 0xc]
fsub dword [0x858b8c]
fstp dword [esp + 0xc]
jle 0x5927e6
movsx edi, bl
mov ecx, 1
cmp edi, ecx
jle 0x5927ab
lea edx, [esi + 0x420]
lea ecx, [ecx]
movsx eax, byte [edx]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x41
je 0x592797
movsx eax, byte [esi + 0x40c]
add ecx, 2
add edx, 0x20
cmp ecx, eax
jl 0x592770
test ecx, ecx
jne 0x5927ab
mov byte [esi + 0x552], 1
mov byte [esi + 0x553], 0xff
jmp 0x5927cf
cmp ecx, edi
jne 0x5927c0
dec bl
mov byte [esi + 0x552], bl
mov byte [esi + 0x553], 0xff
jmp 0x5927cf
mov byte [esi + 0x552], cl
sub cl, 2
mov byte [esi + 0x553], cl
movsx edx, byte [esi + 0x421]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fadd dword [0x858c84]
jmp 0x592801
mov byte [esi + 0x552], 0xff
mov byte [esi + 0x553], 0xff
movzx edx, byte [eax + 3]
dec edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x14]
push ecx
push ecx
fstp dword [esp]
mov ecx, esi
push edi
call fcn.00591bd0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x558], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x554], eax
mov dword [esi + 0x55c], edx
movzx edx, byte [ecx + 3]
dec edx
mov dword [esp + 0x10], edx
lea eax, [esp + 0x20]
push eax
fild dword [esp + 0x14]
push ecx
mov ecx, esi
fadd dword [0x858c84]
fstp dword [esp]
push edi
call fcn.00591bd0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x564], eax
mov dword [esi + 0x568], ecx
mov dword [esi + 0x56c], edx
mov eax, dword [esi + 0x14]
mov cl, byte [eax + 8]
cmp cl, 0xff
jle 0x5929e2
movsx edx, byte [eax + 9]
movsx ecx, cl
sub edx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov cl, byte [esi + 0x40c]
cmp cl, 2
fild dword [esp + 0x10]
fmul dword [0x858b8c]
fiadd dword [esp + 0xc]
fsub dword [0x858b8c]
fstp dword [esp + 0xc]
jle 0x59294f
movsx ebx, cl
mov eax, ebx
shl eax, 4
lea edx, [eax + esi]
movsx eax, byte [edx + 0x3f1]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 0x41
jne 0x5928f7
sub cl, 2
mov byte [esi + 0x572], cl
mov byte [esi + 0x573], 0xff
jmp 0x592935
movsx edx, byte [edx + 0x401]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fcomp dword [esp + 0xc]
fnstsw ax
test ah, 5
jp 0x592922
dec cl
mov byte [esi + 0x572], cl
mov byte [esi + 0x573], 0xff
jmp 0x592935
mov al, cl
dec al
sub cl, 2
mov byte [esi + 0x572], al
mov byte [esi + 0x573], cl
add ebx, 0x3f
shl ebx, 4
movsx edx, byte [ebx + esi]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fadd dword [0x858c84]
jmp 0x59296a
mov byte [esi + 0x572], 0xff
mov byte [esi + 0x573], 0xff
movzx edx, byte [eax + 2]
dec edx
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
mov edi, dword [esp + 0xc]
lea ecx, [esp + 0x14]
push ecx
push edi
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00591bd0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x578], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x574], eax
mov dword [esi + 0x57c], edx
movzx edx, byte [ecx + 2]
dec edx
mov dword [esp + 0x10], edx
lea eax, [esp + 0x20]
push eax
fild dword [esp + 0x14]
push edi
push ecx
mov ecx, esi
fadd dword [0x858c84]
fstp dword [esp]
call fcn.00591bd0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esi + 0x584], eax
mov dword [esi + 0x588], ecx
mov dword [esi + 0x58c], edx
pop edi
pop esi
pop ebx
add esp, 0x20
ret