Function at 0x511920
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
mov eax, dword [0x21f3f98]
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 [0x21f3f98]
mov edx, dword [eax]
push 6
push 0x14
push eax
call dword [edx + 0xe4]
mov eax, dword [0x21f3f98]
mov ecx, dword [eax]
push 4
push 4
xor ebp, ebp
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x21f3f98]
mov edx, dword [eax]
push 2
push 5
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x21f3f98]
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 0x5119a5
fld dword [esp + 0xc]
fmul dword [esi + 0x9c]
fstp dword [esp + 0xc]
mov cl, byte [esi + 0xd]
test cl, cl
je 0x511ed6
mov ecx, dword [esi + 8]
cmp ecx, 1
je 0x5119c1
cmp ecx, 4
jne 0x511ad6
test al, al
jne 0x511ad6
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 0x511a76
cmp edi, ebp
je 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test cl, ah
jne 0x511a33
mov eax, 0xff
jmp 0x511a5d
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511a48
xor eax, eax
jmp 0x511a5d
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511e1a
cmp edi, ebp
je 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511a96
mov eax, 0xff
jmp 0x511ac0
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511aab
xor eax, eax
jmp 0x511ac0
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511e1a
mov al, byte [esi + 0xa4]
test al, al
je 0x511bf4
fld dword [0x705f54]
fadd dword [esi + 0xa8]
fst dword [esi + 0xa8]
fcomp dword [esi + 0xac]
fnstsw ax
test ah, 0x41
jne 0x511b41
mov al, byte [esi + 0xb2]
mov cl, byte [esi + 0xb0]
cmp al, cl
jne 0x511b21
mov al, byte [esi + 0xb1]
mov byte [esi + 0xb2], al
jmp 0x511b2f
cmp al, byte [esi + 0xb1]
jne 0x511b2f
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 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511ba7
mov eax, 0xff
jmp 0x511bd1
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511bbc
xor eax, eax
jmp 0x511bd1
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511f55
cmp byte [esi + 0xa3], 1
jne 0x511ca7
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 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511c67
mov eax, 0xff
jmp 0x511c91
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511c7c
xor eax, eax
jmp 0x511c91
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511e1a
cmp ecx, 1
jne 0x511d63
mov al, byte [esi + 5]
test al, al
je 0x511d63
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 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511d21
mov eax, 0xff
jmp 0x511d4b
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511d36
xor eax, eax
jmp 0x511d4b
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511f55
mov al, byte [esi + 6]
test al, al
je 0x511e31
mov al, byte [esi + 0xc]
test al, al
je 0x511e31
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 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511ddf
mov eax, 0xff
jmp 0x511e09
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511df4
xor eax, eax
jmp 0x511e09
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511f65
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 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511e97
mov eax, 0xff
jmp 0x511ec1
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511eac
xor eax, eax
jmp 0x511ec1
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x511f55
cmp byte [esi + 0xa3], 1
jne 0x511ee7
mov edi, dword [esi + 0xbc]
jmp 0x511efb
mov al, byte [esi + 6]
test al, al
je 0x511f2c
mov al, byte [esi + 0xc]
test al, al
je 0x511f2c
mov edi, dword [esi + 0xc0]
cmp edi, ebp
je 0x511f76
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511f17
mov eax, 0xff
jmp 0x511f49
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x511f34
xor eax, eax
jmp 0x511f49
mov edi, dword [esi + 0xb8]
jmp 0x511efb
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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.00533a80
lea edi, [esi + 0xc4]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x511f81
sub eax, edx
mov dword [esp + 0x10], eax
je 0x5121c3
mov eax, edi
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x511fa0
sub eax, edx
push ebp
lea edx, [esp + 0x14]
push edx
push eax
push edi
mov ecx, 0x21f3fa0
call fcn.0052db90
mov ecx, 0x21f3fa0
call fcn.0052bf90
mov eax, dword [esi + 8]
cmp eax, 1
je 0x512064
cmp eax, 4
je 0x512064
fld dword [esp + 0xc]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x511ff2
mov eax, 0xff
jmp 0x51201c
fld dword [esp + 0xc]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x512007
xor eax, eax
jmp 0x51201c
fld dword [esp + 0xc]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x21f3fa0
call fcn.0052e590
add esp, 0x1c
mov ecx, 0x21f3fa0
call fcn.0052bfa0
pop edi
pop esi
pop ebp
add esp, 0x24
ret
fld dword [esp + 0x20]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x51207f
mov dword [esp + 0xc], 0xff
jmp 0x5120af
fld dword [esp + 0x20]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x512096
mov dword [esp + 0xc], ebp
jmp 0x5120af
fld dword [esp + 0x20]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
mov dword [esp + 0xc], eax
fld dword [esp + 0x24]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x5120c7
mov ebp, 0xff
jmp 0x5120ef
fld dword [esp + 0x24]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jnp 0x5120ef
fld dword [esp + 0x24]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
mov ebp, eax
fld dword [esp + 0x28]
push ebx
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x512108
mov ebx, 0xff
jmp 0x512134
fld dword [esp + 0x2c]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x51211d
xor ebx, ebx
jmp 0x512134
fld dword [esp + 0x2c]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
mov ebx, eax
fld dword [esp + 0x30]
fcomp dword [0x6a92f8]
fnstsw ax
test ah, 1
jne 0x51214c
mov eax, 0xff
jmp 0x512176
fld dword [esp + 0x30]
fcomp dword [0x6a867c]
fnstsw ax
test ah, 0x41
jp 0x512161
xor eax, eax
jmp 0x512176
fld dword [esp + 0x30]
fmul dword [0x6a961c]
fadd dword [0x6a95b8]
call fcn.005ba9a8
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 0x21f3fa0
call fcn.0052e590
add esp, 0x1c
pop ebx
mov ecx, 0x21f3fa0
call fcn.0052bfa0
pop edi
pop esi
pop ebp
add esp, 0x24
ret