Function at 0x516ea0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
mov eax, dword [0x21f1c70]
push ebp
push esi
push edi
push 5
push 0x13
mov esi, ecx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe4]
mov eax, dword [0x21f1c70]
mov edx, dword [eax]
push 6
push 0x14
push eax
call dword [edx + 0xe4]
mov eax, dword [0x21f1c70]
mov ecx, dword [eax]
push 4
push 4
xor ebp, ebp
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x21f1c70]
mov edx, dword [eax]
push 2
push 5
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x21f1c70]
mov ecx, dword [eax]
push ebp
push 6
push ebp
push eax
call dword [ecx + 0x10c]
mov al, byte [esi + 4]
test al, al
mov edx, dword [esi + 0x98]
mov dword [esp + 0xc], edx
jne 0x516f25
fld dword [esp + 0xc]
fmul dword [esi + 0x9c]
fstp dword [esp + 0xc]
mov cl, byte [esi + 0xd]
test cl, cl
je 0x517456
mov ecx, dword [esi + 8]
cmp ecx, 1
je 0x516f41
cmp ecx, 4
jne 0x517056
test al, al
jne 0x517056
cmp ecx, 1
mov eax, dword [esp + 0xc]
mov edi, dword [esi + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], 0x3f139394
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], 0x3f119192
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0x3f0c8c8d
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jne 0x516ff6
cmp edi, ebp
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test cl, ah
jne 0x516fb3
mov eax, 0xff
jmp 0x516fdd
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x516fc8
xor eax, eax
jmp 0x516fdd
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x80]
push ecx
mov ecx, dword [esi + 0x6c]
push edx
mov edx, dword [esi + 0x58]
jmp 0x51739a
cmp edi, ebp
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517016
mov eax, 0xff
jmp 0x517040
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x51702b
xor eax, eax
jmp 0x517040
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ecx, dword [esi + 0x90]
mov edx, dword [esi + 0x7c]
push ecx
mov ecx, dword [esi + 0x68]
push edx
mov edx, dword [esi + 0x54]
jmp 0x51739a
mov al, byte [esi + 0xa4]
test al, al
je 0x517174
fld dword [0x703c14]
fadd dword [esi + 0xa8]
fst dword [esi + 0xa8]
fcomp dword [esi + 0xac]
fnstsw ax
test ah, 0x41
jne 0x5170c1
mov al, byte [esi + 0xb2]
mov cl, byte [esi + 0xb0]
cmp al, cl
jne 0x5170a1
mov al, byte [esi + 0xb1]
mov byte [esi + 0xb2], al
jmp 0x5170af
cmp al, byte [esi + 0xb1]
jne 0x5170af
mov byte [esi + 0xb2], cl
fld dword [esi + 0xa8]
fsub dword [esi + 0xac]
fstp dword [esi + 0xa8]
mov ecx, dword [esp + 0xc]
mov edi, dword [esi + 0xb4]
cmp edi, ebp
mov dword [esp + 0x10], 0x3f57d7d8
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], 0x3f57d7d8
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], 0x3f4dcdce
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517127
mov eax, 0xff
jmp 0x517151
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x51713c
xor eax, eax
jmp 0x517151
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
movzx ecx, byte [esi + 0xb2]
mov edx, dword [esi + ecx*4 + 0x84]
push edx
mov edx, dword [esi + ecx*4 + 0x70]
push edx
mov edx, dword [esi + ecx*4 + 0x5c]
mov ecx, dword [esi + ecx*4 + 0x48]
push edx
push ecx
jmp 0x5174d5
cmp byte [esi + 0xa3], 1
jne 0x517227
mov edx, dword [esp + 0xc]
mov edi, dword [esi + 0xb4]
cmp edi, ebp
mov dword [esp + 0x10], 0x3f26a6a7
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0x3f25a5a6
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0x3f1e9e9f
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x5171e7
mov eax, 0xff
jmp 0x517211
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x5171fc
xor eax, eax
jmp 0x517211
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x78]
push ecx
mov ecx, dword [esi + 0x64]
push edx
mov edx, dword [esi + 0x50]
jmp 0x51739a
cmp ecx, 1
jne 0x5172e3
mov al, byte [esi + 5]
test al, al
je 0x5172e3
mov eax, dword [esp + 0xc]
mov edi, dword [esi + 0xb4]
cmp edi, ebp
mov dword [esp + 0x10], 0x3f7efeff
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0x3f7efeff
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], 0x3f7efeff
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x5172a1
mov eax, 0xff
jmp 0x5172cb
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x5172b6
xor eax, eax
jmp 0x5172cb
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov edx, dword [esi + 0x90]
mov ecx, dword [esi + 0x7c]
push edx
mov edx, dword [esi + 0x68]
push ecx
mov ecx, dword [esi + 0x54]
push edx
push ecx
jmp 0x5174d5
mov al, byte [esi + 6]
test al, al
je 0x5173b1
mov al, byte [esi + 0xc]
test al, al
je 0x5173b1
mov edx, dword [esp + 0xc]
mov edi, dword [esi + 0xb4]
cmp edi, ebp
mov dword [esp + 0x10], 0x3f7dfdfe
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], 0x3f6eeeef
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], 0x3f27a7a8
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x51735f
mov eax, 0xff
jmp 0x517389
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x517374
xor eax, eax
jmp 0x517389
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ecx, dword [esi + 0x88]
mov edx, dword [esi + 0x74]
push ecx
mov ecx, dword [esi + 0x60]
push edx
mov edx, dword [esi + 0x4c]
push ecx
mov ecx, dword [esi + 0x24]
push edx
mov edx, dword [esi + 0x20]
push ecx
mov ecx, dword [esi + 0x1c]
push edx
mov edx, dword [esi + 0x18]
push ecx
push edx
jmp 0x5174e5
mov eax, dword [esp + 0xc]
mov edi, dword [esi + 0xb4]
cmp edi, ebp
mov dword [esp + 0x10], 0x3f57d7d8
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], 0x3f57d7d8
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], 0x3f4dcdce
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517417
mov eax, 0xff
jmp 0x517441
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x51742c
xor eax, eax
jmp 0x517441
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov edx, dword [esi + 0x84]
mov ecx, dword [esi + 0x70]
push edx
mov edx, dword [esi + 0x5c]
push ecx
mov ecx, dword [esi + 0x48]
push edx
push ecx
jmp 0x5174d5
cmp byte [esi + 0xa3], 1
jne 0x517467
mov edi, dword [esi + 0xbc]
jmp 0x51747b
mov al, byte [esi + 6]
test al, al
je 0x5174ac
mov al, byte [esi + 0xc]
test al, al
je 0x5174ac
mov edi, dword [esi + 0xc0]
cmp edi, ebp
je 0x5174f6
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517497
mov eax, 0xff
jmp 0x5174c9
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x5174b4
xor eax, eax
jmp 0x5174c9
mov edi, dword [esi + 0xb8]
jmp 0x51747b
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
push 0x3f800000
push ebp
push 0x3f800000
push ebp
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x20]
push edx
mov edx, dword [esi + 0x1c]
push ecx
mov ecx, dword [esi + 0x18]
push edx
push ecx
shl eax, 0x18
or eax, 0xffffff
lea ecx, [edi + 4]
push eax
call fcn.00538d40
lea edi, [esi + 0xc4]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x517501
sub eax, edx
mov dword [esp + 0x10], eax
je 0x517743
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x517520
sub eax, edx
push ebp
lea edx, [esp + 0x14]
push edx
push eax
push edi
mov ecx, 0x21f1c78
call fcn.00532e40
mov ecx, 0x21f1c78
call fcn.005312a0
mov eax, dword [esi + 8]
cmp eax, 1
je 0x5175e4
cmp eax, 4
je 0x5175e4
fld dword [esp + 0xc]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517572
mov eax, 0xff
jmp 0x51759c
fld dword [esp + 0xc]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x517587
xor eax, eax
jmp 0x51759c
fld dword [esp + 0xc]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x4c8]
mov ebp, dword [esi + 0x1c]
push edi
mov edi, dword [esi + 0x18]
shl eax, 0x18
or eax, 0xffffff
push eax
mov eax, dword [esi + 0x2c]
push eax
mov eax, dword [esi + 0x4c4]
push ecx
add edx, ebp
push edx
add eax, edi
push eax
push 0x21f1c78
call fcn.00533880
add esp, 0x1c
mov ecx, 0x21f1c78
call fcn.005312b0
pop edi
pop esi
pop ebp
add esp, 0x24
ret
fld dword [esp + 0x20]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x5175ff
mov dword [esp + 0xc], 0xff
jmp 0x51762f
fld dword [esp + 0x20]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x517616
mov dword [esp + 0xc], ebp
jmp 0x51762f
fld dword [esp + 0x20]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov dword [esp + 0xc], eax
fld dword [esp + 0x24]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517647
mov ebp, 0xff
jmp 0x51766f
fld dword [esp + 0x24]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jnp 0x51766f
fld dword [esp + 0x24]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ebp, eax
fld dword [esp + 0x28]
push ebx
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x517688
mov ebx, 0xff
jmp 0x5176b4
fld dword [esp + 0x2c]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x51769d
xor ebx, ebx
jmp 0x5176b4
fld dword [esp + 0x2c]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ebx, eax
fld dword [esp + 0x30]
fcomp dword [0x6a8210]
fnstsw ax
test ah, 1
jne 0x5176cc
mov eax, 0xff
jmp 0x5176f6
fld dword [esp + 0x30]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 0x41
jp 0x5176e1
xor eax, eax
jmp 0x5176f6
fld dword [esp + 0x30]
fmul dword [0x6a8534]
fadd dword [0x6a84d0]
call fcn.005b8b18
mov ecx, dword [esp + 0x10]
mov edx, dword [esi + 0x28]
shl eax, 8
or eax, ecx
mov ecx, dword [esi + 0x2c]
shl eax, 8
or eax, ebp
mov ebp, dword [esi + 0x1c]
push edi
mov edi, dword [esi + 0x18]
shl eax, 8
or eax, ebx
push eax
mov eax, dword [esi + 0x4c8]
push ecx
mov ecx, dword [esi + 0x4c4]
push edx
add eax, ebp
push eax
add ecx, edi
push ecx
push 0x21f1c78
call fcn.00533880
add esp, 0x1c
pop ebx
mov ecx, 0x21f1c78
call fcn.005312b0
pop edi
pop esi
pop ebp
add esp, 0x24
ret