Function at 0x540f90
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5412b4
sub esp, 0x6c
xor eax, eax
xor ecx, ecx
mov edx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x28], edx
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
movzx ebp, byte [esp + 0x74]
xchg ebp, eax
mov byte [esp + 4], al
xchg ebp, eax
call fcn.00540b90
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
test ebx, ebx
je 0x5412ab
mov ebp, dword [0x76ab58]
cmp ebx, ebp
jne 0x541139
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [0x76ab5c]
mov esi, dword [0x76ab58]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
call fcn.00402240
movzx eax, byte [esp + 0x10]
test al, al
je 0x541139
lea eax, [0x60ce40]
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00437130
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x30]
cmp ecx, ebx
jle 0x541132
mov dword [esp], edx
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044a7d0
mov eax, dword [esp + 0x28]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jg 0x5410f8
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
lea eax, [eax + eax*2]
mov ebp, dword [esp + 0x34]
mov dword [ebx + eax*4 + 4], ebp
mov ebp, dword [esp + 0x40]
mov dword [ebx + eax*4 + 8], ebp
lea ebp, [ebx + eax*4]
mov esi, dword [0x77c810]
test esi, esi
jne 0x5410da
mov ebp, dword [esp + 0x64]
mov dword [ebx + eax*4], ebp
mov eax, edx
mov ecx, ebx
mov edx, dword [esp + 0x28]
jmp 0x540faf
mov dword [esp], ebp
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x48]
jmp 0x5410cd
lea ebx, [0x5ffa00]
mov dword [esp], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00437350
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x28]
jmp 0x54109a
mov ebx, ecx
jmp 0x541073
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
xor ebp, ebp
xor esi, esi
cmp ebp, edx
jge 0x54117a
jae 0x5412a4
lea edi, [ebp + 1]
mov dword [esp + 0x44], edi
lea edi, [ebp + ebp*2]
mov edi, dword [ebx + edi*4 + 4]
add esi, edi
mov edi, dword [esp + 0x44]
mov ebp, edi
cmp ebp, edx
jl 0x541159
lea ebp, [0x60ce40]
mov dword [esp], ebp
mov ebp, dword [esp + 0x30]
add esi, ebp
mov dword [esp + 4], esi
mov dword [esp + 8], esi
call fcn.00437130
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x28]
cmp ebx, esi
jge 0x541231
cmp ebp, edx
ja 0x54122a
sub edx, ebp
sub eax, ebp
dec eax
sar eax, 0x1f
xor eax, 0xffffffff
and eax, ebp
add eax, ecx
cmp ebx, esi
jae 0x541223
lea ecx, [ebx + ebx*2]
mov edi, dword [esp + 0x68]
mov esi, dword [edi + ecx*4]
mov ecx, dword [edi + ecx*4 + 4]
cmp edx, ecx
jle 0x54121f
mov dword [esp + 0x44], ecx
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.0044a7d0
mov eax, dword [esp + 0x24]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
lea ebp, [ecx + eax]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x38]
jmp 0x5411b2
mov ecx, edx
jmp 0x5411eb
call fcn.00424660
ud2
call fcn.004246c0
ud2
cmp ebp, edx
ja 0x54129d
mov ebx, edx
sub edx, ebp
mov esi, eax
sub eax, ebp
dec eax
sar eax, 0x1f
xor eax, 0xffffffff
and eax, ebp
add eax, ecx
mov ebp, dword [esp + 0x30]
cmp edx, ebp
jle 0x541299
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0044a7d0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x88], eax
add esp, 0x6c
ret
mov ebp, edx
jmp 0x541250
call fcn.004246c0
ud2
call fcn.00424660
ud2
xor eax, eax
mov ecx, eax
jmp 0x541141
call fcn.00448420
jmp fcn.00540f90