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

Disassembly:
mov ecx, dword [0x84873c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x118]
cmp eax, dword [ecx + 8]
jbe 0x5a42e0
sub esp, 0x198
lea edi, [esp + 0x1a4]
xor eax, eax
call fcn.0046a850
nop
lea edi, [esp + 0x50]
call fcn.0046a888
mov ecx, dword [esp + 0x19c]
mov dword [esp], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
call fcn.005a3de0
mov ecx, dword [esp + 0xc]
cmp ecx, 0x1f
jbe 0x5a42d5
mov edx, dword [esp + 8]
cmp byte [edx + 0x1f], 0x7f
ja 0x5a42bd
mov ebx, dword [esp + 0x1a0]
cmp ebx, 2
jb 0x5a42a5
cmp ebx, 8
ja 0x5a428d
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x98]
xor eax, eax
call fcn.0046a850
lea edi, [esp + 0x70]
call fcn.0046a886
mov ecx, dword [esp + 0x14]
xor eax, eax
jmp 0x5a3f93
mov dword [esp + 0x2c], eax
lea ebp, [esp + eax*8 + 0x70]
lea edi, [esp + eax*8 + 0x74]
movzx ebx, byte [edx + esi]
movzx ecx, byte [edx + esi + 1]
mov dword [esp + 0x4c], ecx
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x4c]
shr ecx, 0x18
movzx eax, byte [edx + esi + 2]
mov dword [esp + 0x4c], eax
shr eax, 0x10
or eax, ecx
mov ecx, dword [esp + 0x4c]
shl ecx, 0x10
or ecx, ebx
movzx ebx, byte [edx + esi + 3]
mov dword [esp + 0x4c], ebx
shr ebx, 8
or ebx, eax
mov eax, dword [esp + 0x4c]
shl eax, 0x18
or eax, ecx
movzx ecx, byte [edx + esi + 4]
or ecx, ebx
movzx ebx, byte [edx + esi + 5]
shl ebx, 8
or ecx, ebx
movzx ebx, byte [edx + esi + 6]
shl ebx, 0x10
or ebx, ecx
movzx ecx, byte [edx + esi + 7]
mov dword [ebp], eax
shl ecx, 0x18
or ecx, ebx
mov dword [edi], ecx
mov eax, dword [esp + 0x2c]
inc eax
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1a0]
cmp eax, 4
jge 0x5a3fc4
mov esi, eax
shl esi, 3
cmp ecx, esi
jb 0x5a4286
mov edi, ecx
sub edi, esi
sub ebp, esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and esi, ebp
cmp edi, 7
ja 0x5a3f02
jmp 0x5a427a
mov ecx, ebx
mov edx, 1
shl edx, cl
lea ebp, [ecx - 0x20]
mov ecx, ebp
mov eax, edx
mov edx, 1
shl edx, cl
neg ecx
mov esi, ebx
mov ebx, 1
shr ebx, cl
cmp ebp, 0x20
sbb ebp, ebp
and ebp, edx
cmp ecx, 0x20
sbb edx, edx
and ebx, edx
or ebx, ebp
mov dword [esp + 0x4c], ebx
cmp esi, 0x20
sbb edx, edx
and eax, edx
mov dword [esp + 0x20], eax
mov edx, eax
add eax, 0xffffffff
mov dword [esp + 0x1c], eax
mov ebp, ebx
adc ebx, 0xffffffff
mov dword [esp + 0x48], ebx
xor ecx, ecx
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x34], ecx
xor ecx, ecx
jmp 0x5a403e
mov edx, ebp
mov ebp, dword [esp + 0x4c]
mov edi, ecx
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x1a0]
mov ecx, ebx
mov ebx, dword [esp + 0x48]
cmp ecx, 0x100
jae 0x5a423e
mov dword [esp + 0x24], ecx
and ecx, 0x3f
mov dword [esp + 0x28], ecx
add esi, 0xffffffc0
xchg esi, ebx
neg ebx
xchg esi, ebx
mov edx, dword [esp + 0x24]
shr edx, 6
cmp esi, ecx
jbe 0x5a40ca
cmp edx, 5
jae 0x5a426e
lea edx, [esp + edx*8 + 0x70]
mov esi, dword [edx + 4]
mov dword [esp + 0x44], esi
mov edx, dword [edx]
shr edx, cl
shr esi, cl
lea ebp, [ecx - 0x20]
mov dword [esp + 0x40], ebp
mov ecx, ebp
mov ebx, dword [esp + 0x44]
shr ebx, cl
mov dword [esp + 0x3c], ebx
neg ecx
mov ebx, dword [esp + 0x44]
shl ebx, cl
mov ebp, dword [esp + 0x28]
cmp ebp, 0x20
sbb ebp, ebp
and edx, ebp
and esi, ebp
cmp ecx, 0x20
sbb ebp, ebp
and ebx, ebp
or ebx, edx
mov edx, dword [esp + 0x40]
cmp edx, 0x20
sbb edx, edx
mov ebp, dword [esp + 0x3c]
and ebp, edx
or ebp, ebx
jmp 0x5a4192
cmp edx, 5
jae 0x5a4262
mov dword [esp + 0x30], edi
lea esi, [esp + edx*8 + 0x70]
mov ebp, dword [esi + 4]
mov dword [esp + 0x44], ebp
mov esi, dword [esi]
shr ebp, cl
mov dword [esp + 0x40], ebp
shr esi, cl
lea edi, [ecx - 0x20]
mov ecx, edi
mov ebx, dword [esp + 0x44]
shr ebx, cl
neg ecx
mov ebp, dword [esp + 0x44]
shl ebp, cl
lea eax, [edx + 1]
cmp edi, 0x20
sbb edi, edi
and ebx, edi
cmp ecx, 0x20
sbb ecx, ecx
and ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0x28]
cmp edx, 0x20
sbb edi, edi
and esi, edi
or ebp, esi
mov esi, edx
mov edx, dword [esp + 0x40]
and edx, edi
or ebx, ebp
cmp eax, 5
jae 0x5a4258
mov dword [esp + 0x44], edx
lea eax, [esp + ecx*8 + 0x78]
mov ebp, dword [eax]
mov dword [esp + 0x40], ebp
mov eax, dword [eax + 4]
lea ecx, [esi - 0x40]
neg ecx
mov dword [esp + 0x38], ecx
shl eax, cl
mov esi, ebp
shl ebp, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl esi, cl
neg ecx
mov edx, dword [esp + 0x40]
shr edx, cl
cmp edi, 0x20
sbb edi, edi
and esi, edi
mov edi, edx
mov edx, dword [esp + 0x38]
cmp edx, 0x20
sbb edx, edx
and eax, edx
and ebp, edx
or ebp, ebx
cmp ecx, 0x20
sbb edx, edx
and edi, edx
or edi, eax
or esi, edi
mov edx, dword [esp + 0x44]
or esi, edx
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
and esi, edx
and ebp, eax
add ebp, edi
mov ebx, dword [esp + 0x34]
adc esi, ebx
test ebp, 1
sete cl
and ecx, 1
test cl, cl
je 0x5a41d3
mov ebp, dword [esp + 0x24]
inc ebp
mov edx, dword [esp + 0x1a0]
mov ebx, ebp
mov ecx, edi
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
jmp 0x5a4025
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
shr ebx, 1
mov edi, edx
mov edx, dword [esp + 0x20]
shr edx, 1
shl ecx, 0x1f
or ecx, edx
cmp ebx, esi
seta dl
sete bl
cmp ebp, ecx
setb cl
and ebx, ecx
or edx, ebx
test dl, dl
je 0x5a4214
mov edx, dword [esp + 0x24]
xchg ebp, eax
mov byte [esp + edx + 0x98], al
xchg ebp, eax
mov ebx, edx
xor ecx, ecx
mov edx, dword [esp + 0x20]
jmp 0x5a422c
mov edx, dword [esp + 0x20]
sub ebp, edx
mov ebx, dword [esp + 0x24]
xchg ebp, eax
mov byte [esp + ebx + 0x98], al
xchg ebp, eax
mov ecx, 1
mov ebp, edx
mov edx, dword [esp + 0x1a0]
add ebx, edx
xor esi, esi
jmp 0x5a4025
lea edi, [esp + 0x1a4]
lea esi, [esp + 0x98]
call fcn.0046ab20
add esp, 0x198
ret
mov ecx, 5
call fcn.0046a680
mov eax, edx
mov ecx, 5
call fcn.0046a680
mov eax, edx
mov ecx, 5
call fcn.0046a680
mov eax, 7
mov ecx, edi
call fcn.0046a670
mov eax, esi
call fcn.0046a6d0
lea eax, [0x64c320]
mov dword [esp], eax
lea eax, [0x6db360]
mov dword [esp + 4], eax
call fcn.004389a0
lea eax, [0x64c320]
mov dword [esp], eax
lea eax, [0x6db358]
mov dword [esp + 4], eax
call fcn.004389a0
lea eax, [0x64c320]
mov dword [esp], eax
lea eax, [0x6db350]
mov dword [esp + 4], eax
call fcn.004389a0
mov eax, 0x1f
call fcn.0046a670
nop
call fcn.00469200
jmp fcn.005a3e50