Function at 0x5277a0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x24
mov eax, dword [0x2209400]
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 [0x2209400]
mov edx, dword [eax]
push 6
push 0x14
push eax
call dword [edx + 0xe4]
mov eax, dword [0x2209400]
mov ecx, dword [eax]
push 4
push 4
xor ebp, ebp
push ebp
push eax
call dword [ecx + 0x10c]
mov eax, dword [0x2209400]
mov edx, dword [eax]
push 2
push 5
push ebp
push eax
call dword [edx + 0x10c]
mov eax, dword [0x2209400]
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 0x527825
fld dword [esp + 0xc]
fmul dword [esi + 0x9c]
fstp dword [esp + 0xc]
mov cl, byte [esi + 0xd]
test cl, cl
je 0x527d7c
mov ecx, dword [esi + 8]
cmp ecx, 1
je 0x527841
cmp ecx, 4
jne 0x527956
test al, al
jne 0x527956
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 0x5278f6
cmp edi, ebp
je 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test cl, ah
jne 0x5278b3
mov eax, 0xff
jmp 0x5278dd
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x5278c8
xor eax, eax
jmp 0x5278dd
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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 0x527b22
cmp edi, ebp
je 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527916
mov eax, 0xff
jmp 0x527940
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x52792b
xor eax, eax
jmp 0x527940
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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 0x527b22
mov al, byte [esi + 0xa4]
test al, al
je 0x527a74
fld dword [0x719a54]
fadd dword [esi + 0xa8]
fst dword [esi + 0xa8]
fcomp dword [esi + 0xac]
fnstsw ax
test ah, 0x41
jne 0x5279c1
mov al, byte [esi + 0xb2]
mov cl, byte [esi + 0xb0]
cmp al, cl
jne 0x5279a1
mov al, byte [esi + 0xb1]
mov byte [esi + 0xb2], al
jmp 0x5279af
cmp al, byte [esi + 0xb1]
jne 0x5279af
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 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527a27
mov eax, 0xff
jmp 0x527a51
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527a3c
xor eax, eax
jmp 0x527a51
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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 0x527dfb
cmp byte [esi + 0xa3], 1
jne 0x527b39
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 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527ae7
mov eax, 0xff
jmp 0x527b11
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527afc
xor eax, eax
jmp 0x527b11
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x78]
push ecx
mov ecx, dword [esi + 0x64]
push edx
mov edx, dword [esi + 0x50]
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 0x527e0b
cmp ecx, 1
jne 0x527bf5
mov al, byte [esi + 5]
test al, al
je 0x527bf5
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 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527bb3
mov eax, 0xff
jmp 0x527bdd
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527bc8
xor eax, eax
jmp 0x527bdd
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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 0x527dfb
mov al, byte [esi + 6]
test al, al
je 0x527cd7
mov al, byte [esi + 0xc]
test al, al
je 0x527cd7
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 0x527ccb
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527c6d
mov eax, 0xff
jmp 0x527c97
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527c82
xor eax, eax
jmp 0x527c97
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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
shl eax, 0x18
push edx
or eax, 0xffffff
push eax
lea ecx, [edi + 4]
call fcn.00549ba0
mov ecx, esi
call fcn.005276d0
jmp 0x527e1c
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 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527d3d
mov eax, 0xff
jmp 0x527d67
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527d52
xor eax, eax
jmp 0x527d67
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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 0x527dfb
cmp byte [esi + 0xa3], 1
jne 0x527d8d
mov edi, dword [esi + 0xbc]
jmp 0x527da1
mov al, byte [esi + 6]
test al, al
je 0x527dd2
mov al, byte [esi + 0xc]
test al, al
je 0x527dd2
mov edi, dword [esi + 0xc0]
cmp edi, ebp
je 0x527e1c
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527dbd
mov eax, 0xff
jmp 0x527def
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527dda
xor eax, eax
jmp 0x527def
mov edi, dword [esi + 0xb8]
jmp 0x527da1
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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.00549ba0
lea edi, [esi + 0xc4]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x527e27
sub eax, edx
mov dword [esp + 0x10], eax
je 0x528063
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x527e40
sub eax, edx
push ebp
lea edx, [esp + 0x14]
push edx
push eax
push edi
mov ecx, 0x2209408
call fcn.00542f70
mov ecx, 0x2209408
call fcn.005bfb50
mov eax, dword [esi + 8]
cmp eax, 1
je 0x527f04
cmp eax, 4
je 0x527f04
fld dword [esp + 0xc]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527e92
mov eax, 0xff
jmp 0x527ebc
fld dword [esp + 0xc]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527ea7
xor eax, eax
jmp 0x527ebc
fld dword [esp + 0xc]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x5cc]
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 + 0x5c8]
push ecx
add edx, ebp
push edx
add eax, edi
push eax
push 0x2209408
call fcn.00543eb0
add esp, 0x1c
mov ecx, 0x2209408
call fcn.005bfb50
pop edi
pop esi
pop ebp
add esp, 0x24
ret
fld dword [esp + 0x20]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527f1f
mov dword [esp + 0xc], 0xff
jmp 0x527f4f
fld dword [esp + 0x20]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527f36
mov dword [esp + 0xc], ebp
jmp 0x527f4f
fld dword [esp + 0x20]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
mov dword [esp + 0xc], eax
fld dword [esp + 0x24]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527f67
mov ebp, 0xff
jmp 0x527f8f
fld dword [esp + 0x24]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jnp 0x527f8f
fld dword [esp + 0x24]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
mov ebp, eax
fld dword [esp + 0x28]
push ebx
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527fa8
mov ebx, 0xff
jmp 0x527fd4
fld dword [esp + 0x2c]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x527fbd
xor ebx, ebx
jmp 0x527fd4
fld dword [esp + 0x2c]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
mov ebx, eax
fld dword [esp + 0x30]
fcomp dword [0x6bc4dc]
fnstsw ax
test ah, 1
jne 0x527fec
mov eax, 0xff
jmp 0x528016
fld dword [esp + 0x30]
fcomp dword [0x6bb5fc]
fnstsw ax
test ah, 0x41
jp 0x528001
xor eax, eax
jmp 0x528016
fld dword [esp + 0x30]
fmul dword [0x6bc8c4]
fadd dword [0x6bc860]
call fcn.005cd414
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 + 0x5cc]
push ecx
mov ecx, dword [esi + 0x5c8]
push edx
add eax, ebp
push eax
add ecx, edi
push ecx
push 0x2209408
call fcn.00543eb0
add esp, 0x1c
pop ebx
mov ecx, 0x2209408
call fcn.005bfb50
pop edi
pop esi
pop ebp
add esp, 0x24
ret