Function at 0x5085a0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x508f36
sub esp, 0x9c
mov eax, dword [esp + 0xa0]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x68], edx
mov ebx, dword [ecx + 0x4c]
mov dword [esp], edx
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x38]
mov ebx, dword [edx + 0x28]
mov ebp, dword [esp + 0x68]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 0x1c]
mov ebp, dword [edx + 0x18]
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea ebx, [0x89caba]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xc
call fcn.00498c40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x8969ce]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004c2de0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x1c]
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea ebx, [0x89cac6]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xc
call fcn.00498c40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x8969ce]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004c2de0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 0x10], esi
mov word [esp + 0x14], 0
call fcn.004fb440
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x58]
mov dword [esp + 8], ebp
mov esi, dword [esp + 0x30]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x10], edi
mov word [esp + 0x14], 0
call fcn.004fb440
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
test edx, edx
jbe 0x508f2f
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp edx, 6
jge 0x508cc8
cmp edx, 5
jne 0x508c6b
mov ebp, dword [ebx]
cmp ebp, 0x65747962
jne 0x508cc3
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x73
xchg ebp, eax
jne 0x508c68
mov edx, 2
mov ebx, dword [esp + 0x30]
test ebx, ebx
jbe 0x508ebd
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp ebx, 6
jge 0x508ad9
cmp ebx, 5
jne 0x508a7a
mov esi, dword [ebp]
cmp esi, 0x65747962
jne 0x508ad4
movzx esi, byte [ebp + 4]
xchg esi, eax
cmp al, 0x73
xchg esi, eax
jne 0x508a77
mov ebx, 2
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x50], eax
cmp eax, 0x16
je 0x5089d5
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x88], ecx
lea eax, [0x84ba00]
mov dword [esp], eax
call fcn.00409d90
mov eax, dword [esp + 4]
lea ecx, [0x523540]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov edx, dword [0xc6f140]
test edx, edx
jne 0x5089b5
mov edx, dword [esp + 0x68]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0x50]
cmp ebx, 0x16
mov dword [esp + 0x84], eax
sete bl
mov byte [esp + 0x23], bl
mov byte [eax + 0xc], bl
mov ebp, dword [0xc6f140]
test ebp, ebp
jne 0x508996
mov ebp, dword [esp + 0x74]
mov dword [eax + 0x10], ebp
mov esi, dword [esp + 0x60]
mov dword [eax + 0x14], esi
lea eax, [0x86a640]
mov dword [esp], eax
call fcn.00409d90
mov eax, dword [esp + 4]
lea ecx, [0x5238e0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x508981
mov ecx, dword [esp + 0x68]
mov dword [eax + 8], ecx
movzx ecx, byte [esp + 0x23]
mov byte [eax + 0xc], cl
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x508951
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x28]
or ecx, 8
mov dword [eax + 0x1c], ecx
xor ecx, ecx
mov dword [eax + 0x20], ecx
mov edx, dword [0xc6f140]
test edx, edx
jne 0x50893f
mov edx, dword [esp + 0x5c]
mov dword [eax + 0x24], edx
mov edx, dword [esp + 0x24]
or edx, 0x10
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
add esp, 0x9c
ret
lea edi, [eax + 0x24]
mov edx, eax
mov eax, dword [esp + 0x5c]
call fcn.0044c860
mov eax, edx
jmp 0x508916
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x74]
call fcn.0044c860
lea edi, [ecx + 0x14]
mov eax, dword [esp + 0x88]
call fcn.0044c860
lea edi, [ecx + 0x18]
mov eax, dword [esp + 0x78]
call fcn.0044c860
mov eax, ecx
jmp 0x5088f6
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x68]
call fcn.0044c860
mov eax, ecx
jmp 0x5088cc
lea edi, [eax + 0x10]
mov ebp, eax
mov eax, dword [esp + 0x74]
call fcn.0044c860
lea edi, [ebp + 0x14]
mov eax, dword [esp + 0x60]
call fcn.0044c860
jmp 0x508896
lea edi, [eax + 8]
mov edx, eax
mov eax, dword [esp + 0x68]
call fcn.0044c860
mov ebx, dword [esp + 0x50]
cmp ebx, 0x16
mov eax, edx
mov edx, dword [esp + 0x68]
jmp 0x508869
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 0x19
je 0x508a07
mov eax, dword [esp + 0x50]
jmp 0x508821
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004f82d0
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
lea ecx, [0x8228e0]
mov dword [esp], ecx
call fcn.00409d90
mov eax, dword [esp + 4]
lea ecx, [0x5233a0]
mov dword [eax], ecx
mov ecx, dword [0xc6f140]
test ecx, ecx
jne 0x508a65
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], ecx
mov ecx, eax
jmp 0x508825
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x64]
call fcn.0044c860
mov eax, ecx
jmp 0x508a5e
cmp ebx, 5
jne 0x508acf
mov esi, dword [ebp]
cmp esi, 0x756f7267
jne 0x508aca
movzx esi, byte [ebp + 4]
xchg esi, eax
cmp al, 0x70
xchg esi, eax
jne 0x508a9c
mov ebx, 3
jmp 0x5087fc
cmp ebx, 6
jne 0x508e52
mov esi, dword [ebp]
cmp esi, 0x69726176
jne 0x508e52
movzx esi, word [ebp + 4]
cmp si, 0x746e
jne 0x508e52
xor ebx, ebx
jmp 0x5087fc
cmp ebx, 6
jmp 0x508a9f
cmp ebx, 6
jmp 0x508a9f
cmp ebx, 5
jmp 0x508a7a
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x4c], ebx
je 0x508c10
cmp ebx, 7
jge 0x508b63
jne 0x508b1c
mov esi, dword [ebp]
cmp esi, 0x65786966
jne 0x508b5e
movzx esi, word [ebp + 4]
cmp si, 0x3364
jne 0x508b59
movzx esi, byte [ebp + 6]
xchg esi, eax
cmp al, 0x32
xchg esi, eax
jne 0x508b19
mov ebx, 5
jmp 0x5087fc
cmp ebx, 7
jne 0x508e52
mov esi, dword [ebp]
cmp esi, 0x65786966
jne 0x508e52
movzx esi, word [ebp + 4]
cmp si, 0x3664
jne 0x508e52
movzx esi, byte [ebp + 6]
xchg esi, eax
cmp al, 0x34
xchg esi, eax
jne 0x508e52
mov ebx, 1
jmp 0x5087fc
cmp ebx, 7
jmp 0x508b1c
cmp ebx, 7
jmp 0x508b1c
je 0x508bb5
cmp ebx, 8
jne 0x508b87
mov esi, dword [ebp]
cmp esi, 0x7a67697a
jne 0x508bb0
mov esi, dword [ebp + 4]
cmp esi, 0x32336761
je 0x508ac3
cmp ebx, 8
jne 0x508e52
mov esi, dword [ebp]
cmp esi, 0x7a67697a
jne 0x508e52
mov esi, dword [ebp + 4]
cmp esi, 0x34366761
je 0x508ac3
jmp 0x508e52
cmp ebx, 8
jmp 0x508b87
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [0x8997dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x508bf7
mov ebx, dword [esp + 0x4c]
cmp ebx, 7
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x7c]
jmp 0x508aec
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
jmp 0x508b65
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea eax, [0x898fad]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 6
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x508c4f
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
jmp 0x5087d0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
jmp 0x508ae7
cmp edx, 5
jne 0x508cbe
mov ebp, dword [ebx]
cmp ebp, 0x756f7267
jne 0x508cb9
movzx ebp, byte [ebx + 4]
xchg ebp, eax
cmp al, 0x70
xchg ebp, eax
jne 0x508c8c
mov edx, 3
jmp 0x5087ae
cmp edx, 6
jne 0x508ec4
mov ebp, dword [ebx]
cmp ebp, 0x69726176
jne 0x508ec4
movzx ebp, word [ebx + 4]
cmp bp, 0x746e
jne 0x508ec4
xor edx, edx
jmp 0x5087ae
cmp edx, 6
jmp 0x508c8f
cmp edx, 6
jmp 0x508c8f
cmp edx, 5
jmp 0x508c6b
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], edx
je 0x508dfc
cmp edx, 7
jge 0x508d53
jne 0x508d0d
mov ebp, dword [ebx]
cmp ebp, 0x65786966
jne 0x508d4e
movzx ebp, word [ebx + 4]
cmp bp, 0x3364
jne 0x508d49
movzx ebp, byte [ebx + 6]
xchg ebp, eax
cmp al, 0x32
xchg ebp, eax
jne 0x508d0a
mov edx, 5
jmp 0x5087ae
cmp edx, 7
jne 0x508ec4
mov ebp, dword [ebx]
cmp ebp, 0x65786966
jne 0x508ec4
movzx ebp, word [ebx + 4]
cmp bp, 0x3664
jne 0x508ec4
movzx ebp, byte [ebx + 6]
xchg ebp, eax
cmp al, 0x34
xchg ebp, eax
jne 0x508ec4
mov edx, 1
jmp 0x5087ae
cmp edx, 7
jmp 0x508d0d
cmp edx, 7
jmp 0x508d0d
je 0x508da3
cmp edx, 8
jne 0x508d76
mov ebp, dword [ebx]
cmp ebp, 0x7a67697a
jne 0x508d9e
mov ebp, dword [ebx + 4]
cmp ebp, 0x32336761
je 0x508cb2
cmp edx, 8
jne 0x508ec4
mov ebp, dword [ebx]
cmp ebp, 0x7a67697a
jne 0x508ec4
mov ebp, dword [ebx + 4]
cmp ebp, 0x34366761
je 0x508cb2
jmp 0x508ec4
cmp edx, 8
jmp 0x508d76
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x8997dc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 7
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x508de4
mov edx, dword [esp + 0x48]
cmp edx, 7
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x80]
jmp 0x508cde
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x80]
jmp 0x508d55
mov dword [esp], ebx
mov dword [esp + 4], edx
lea eax, [0x898fad]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 6
call fcn.004020a0
mov eax, dword [esp + 0x10]
test eax, eax
jg 0x508e3a
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x80]
jmp 0x508783
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x80]
jmp 0x508cd9
mov dword [esp], 0
lea eax, [0x8a02f1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043bdd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
lea eax, [0x80a3e0]
mov dword [esp], eax
lea eax, [esp + 0x8c]
mov dword [esp + 4], eax
call fcn.00407520
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00427650
ud2
call fcn.00426770
ud2
mov dword [esp], 0
lea eax, [0x8a02f1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x12
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0043bdd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
lea eax, [0x80a3e0]
mov dword [esp], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.00407520
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00427650
ud2
call fcn.00426770
ud2
call fcn.0044b100
jmp fcn.005085a0