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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x5ea095
sub esp, 0x88
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x50], edx
xor ebx, ebx
jmp 0x5e9a5e
add ecx, 0x10
inc ebx
mov eax, dword [esp + 0x8c]
cmp ebx, edx
jge 0x5e9b5d
movzx ebp, word [ecx]
movzx esi, word [ecx + 2]
movzx edi, byte [ecx + 4]
xchg edi, eax
mov byte [esp + 0x25], al
xchg edi, eax
mov eax, dword [ecx + 8]
mov edi, dword [ecx + 0xc]
cmp eax, edi
je 0x5e9a53
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x80]
add edx, 2
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
cmp ecx, edx
jae 0x5e9aff
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], eax
mov word [esp + 0x2a], si
mov word [esp + 0x28], bp
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x6c7a80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x44]
movzx ebp, word [esp + 0x28]
movzx esi, word [esp + 0x2a]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x80], edx
lea ecx, [edx + edx*2]
mov dword [ebx + ecx*4 - 0x18], eax
lea eax, [ebx + ecx*4 - 0x14]
mov byte [eax], 1
lea eax, [ebx + ecx*4 - 0x12]
mov word [eax], bp
lea eax, [ebx + ecx*4 - 0x10]
mov word [eax], si
lea eax, [ebx + ecx*4 - 0xe]
movzx edx, byte [esp + 0x25]
mov byte [eax], dl
mov dword [ebx + ecx*4 - 0xc], edi
lea eax, [ebx + ecx*4 - 8]
mov byte [eax], 0
lea eax, [ebx + ecx*4 - 6]
mov word [eax], bp
lea eax, [ebx + ecx*4 - 4]
mov word [eax], si
lea eax, [ebx + ecx*4 - 2]
mov byte [eax], dl
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
jmp 0x5e9a53
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004098b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x5ea140]
mov dword [esp + 0x74], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x78], ecx
lea ecx, [0x690000]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
call fcn.0048b050
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
cmp edx, eax
jae 0x5e9c0f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6c7a80]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
lea ebx, [eax + eax*2]
mov dword [ecx + ebx*4 - 0xc], 0xffffffff
lea ebp, [ecx + ebx*4 - 8]
mov byte [ebp], 0
mov dword [ecx + ebx*4 - 6], 0
lea ebx, [ecx + ebx*4 - 2]
mov byte [ebx], 0
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x50], ebp
xor eax, eax
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x5e9c67
mov ebx, dword [esp + 0x68]
add ebx, 0xc
inc eax
mov esi, dword [esp + 0x50]
mov esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x50]
cmp eax, ebp
jge 0x5e9f17
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x68], ebx
mov ebp, dword [ebx]
movzx esi, byte [ebx + 4]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
movzx esi, word [ebx + 6]
mov word [esp + 0x2a], si
movzx esi, word [ebx + 8]
mov word [esp + 0x28], si
movzx ebx, byte [ebx + 0xa]
mov byte [esp + 0x24], bl
cmp ecx, ebp
je 0x5e9da2
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x24], edi
mov dword [ebx + 0x28], edx
mov esi, dword [0x1eaa9f0]
test esi, esi
jne 0x5e9cd1
mov esi, dword [esp + 0x5c]
mov dword [ebx + 0x20], esi
jmp 0x5e9ceb
lea esi, [ebx + 0x20]
mov edi, esi
mov eax, dword [esp + 0x5c]
call fcn.00465d80
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x48], ebp
mov dword [ebx + 0x2c], ecx
lea ecx, [ebp - 1]
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x5e9d75
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004098b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea ecx, [0x5ea0a0]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x70], edx
lea ebx, [0x690040]
mov dword [esp], ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x6c]
mov dword [esp + 8], eax
call fcn.0048b050
mov eax, dword [esp + 0x8c]
mov ecx, 1
xor edx, edx
jmp 0x5e9f57
lea ecx, [edx + 1]
cmp esi, ecx
jb 0x5ea072
mov dword [eax + 0x24], ecx
mov ebx, eax
mov dword [esp], ebx
mov eax, dword [esp + 0x90]
mov dword [esp + 4], eax
call fcn.005e9020
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
movzx ebx, byte [esp + 0x24]
movzx esi, word [esp + 0x28]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5e9e2e
lea ebp, [edi + 1]
cmp edx, ebp
jb 0x5e9dbe
mov edi, dword [esp + 0x5c]
jmp 0x5e9e04
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6cc580]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
movzx ebx, byte [esp + 0x24]
mov edi, esi
movzx esi, word [esp + 0x28]
lea ebx, [ebp + ebp*2]
movzx esi, word [esp + 0x2a]
mov word [edi + ebx*2 - 6], si
movzx esi, word [esp + 0x28]
mov word [edi + ebx*2 - 4], si
lea ebx, [edi + ebx*2 - 2]
movzx esi, byte [esp + 0x24]
xchg esi, eax
mov byte [ebx], al
xchg esi, eax
jmp 0x5e9c53
mov ebx, dword [esp + 0x5c]
mov ebp, ebx
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
jmp 0x5ea02d
mov ebx, dword [esp + 0x30]
cmp ebx, edx
ja 0x5ea06b
lea ebp, [ebx + 1]
cmp edi, ebp
jb 0x5ea062
lea ebp, [edi - 1]
mov esi, edi
sub edi, ebx
lea ecx, [ebx + ebx*2]
sub edx, ebx
dec edx
neg edx
shl ecx, 1
add ecx, 6
sar edx, 0x1f
and ecx, edx
mov edx, dword [esp + 0x5c]
add ecx, edx
mov ebx, dword [esp + 0x38]
cmp ebx, ebp
jae 0x5e9eca
mov dword [esp + 0x48], edi
mov dword [esp + 0x60], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
lea eax, [edi - 1]
mov dword [esp + 0xc], eax
lea eax, [0x6cc580]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x48]
mov ebx, edx
mov edx, esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x5c], edx
sub esi, edi
lea eax, [esi + esi*2]
lea eax, [edx + eax*2]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [edi + edi*2 - 3]
shl eax, 1
mov dword [esp + 8], eax
call fcn.004666e0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
jmp 0x5e9f0e
mov ebx, dword [esp + 0x5c]
mov ebp, edi
mov edi, ebx
jmp 0x5e9c53
mov edx, dword [esp + 0x90]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
xor eax, eax
jmp 0x5e9f36
lea esi, [ecx + ecx*2]
mov dword [ebp + esi*4 - 4], 0x7fffffff
add ebx, 0xc
inc eax
cmp eax, edx
jge 0x5e9f48
mov ecx, dword [ebx + 4]
mov ebp, dword [ebx]
lea esi, [ecx - 1]
cmp ecx, esi
ja 0x5e9f27
jmp 0x5e9f4f
add esp, 0x88
ret
mov eax, esi
call fcn.00465e00
inc ecx
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x24]
mov esi, dword [eax + 0x28]
cmp ecx, ebp
jge 0x5e9d65
jae 0x5ea08b
lea esi, [ecx + ecx*2]
lea edi, [ebx + esi*2]
mov dword [esp + 0x64], edi
movzx edi, word [ebx + esi*2]
cmp edx, ebp
jae 0x5ea082
mov dword [esp + 0x44], ebp
lea ebp, [edx + edx*2]
mov dword [esp + 0x40], ebp
lea ebp, [ebx + ebp*2]
cmp word [ebp], di
jne 0x5e9fc9
lea ebp, [ebx + esi*2 + 4]
movzx ebp, byte [ebp]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5e9f56
mov word [esp + 0x26], di
movzx ebp, word [ebx + esi*2 + 2]
and ebp, 0xfffffffe
mov edi, dword [esp + 0x40]
movzx edi, word [ebx + edi*2 + 2]
and edi, 0xfffffffe
cmp di, bp
je 0x5e9f56
movzx edi, word [esp + 0x26]
lea ebp, [edx + 1]
mov edx, edi
mov edi, dword [esp + 0x64]
movzx edi, byte [edi + 4]
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
movzx esi, word [ebx + esi*2 + 2]
mov edi, dword [esp + 0x44]
cmp edi, ebp
jbe 0x5ea079
mov edi, dword [esp + 0x40]
mov word [ebx + edi*2 + 6], dx
mov word [ebx + edi*2 + 8], si
lea ebx, [ebx + edi*2 + 0xa]
movzx esi, byte [esp + 0x23]
xchg esi, eax
mov byte [ebx], al
xchg esi, eax
mov edx, ebp
jmp 0x5e9f56
mov ebx, dword [esp + 0x3c]
add ebx, 6
mov ebp, dword [esp + 0x30]
inc ebp
movzx esi, word [esp + 0x2a]
movzx esi, word [esp + 0x28]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x5c]
mov ebp, dword [esp + 0x30]
cmp ebp, edi
jge 0x5e9f0a
mov dword [esp + 0x3c], ebx
movzx ebp, word [ebx]
movzx ebx, word [ebx + 2]
shl ebp, 0x10
or ebx, ebp
movzx ebp, word [esp + 0x2a]
movzx ebp, bp
shl ebp, 0x10
movzx esi, si
or ebp, esi
cmp ebp, ebx
jne 0x5ea00f
jmp 0x5e9e47
mov eax, ebp
mov ecx, edi
call fcn.00465e60
mov ecx, ebx
call fcn.00465e40
mov edx, esi
call fcn.00465e40
mov eax, ebp
mov ecx, edi
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, ecx
mov ecx, ebp
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.005e9a00