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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50c861
sub esp, 0x68
lea eax, [0x698da0]
mov dword [esp], eax
mov dword [esp + 4], 1
mov ecx, dword [esp + 0x70]
lea edx, [ecx + 2]
mov dword [esp + 0x38], edx
mov dword [esp + 8], edx
call fcn.0044b070
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
mov esi, 1
jmp 0x50c472
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x44]
mov ebx, eax
mov eax, edx
mov esi, ecx
mov ecx, edi
mov edx, dword [esp + 0x70]
cmp edx, ebp
jle 0x50c685
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], esi
mov dword [esp + 0x58], eax
movzx edi, byte [ecx + ebp]
lea ebx, [ecx + ebp]
cmp edi, 0x80
jge 0x50c49e
lea esi, [ebp + 1]
jmp 0x50c4ce
mov dword [esp + 0x64], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0045ce50
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x44], esi
lea esi, [edi - 0x20]
cmp esi, 0x60
jb 0x50c56a
cmp edi, 0xfffd
jne 0x50c51e
lea esi, [ebp + 2]
cmp edx, esi
jle 0x50c517
lea esi, [ebp + 3]
cmp edx, esi
jb 0x50c859
cmp ebp, esi
ja 0x50c850
cmp word [ebx], 0xbfef
jne 0x50c517
lea ebx, [ecx + ebp + 2]
cmp byte [ebx], 0xbd
jne 0x50c517
mov ebx, 3
jmp 0x50c54b
mov ebx, 1
jmp 0x50c54b
lea eax, [esp + 0x4c]
mov dword [esp], eax
mov eax, edi
sar edi, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 4], eax
call fcn.0044f340
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
jmp 0x50c6fe
cmp edi, 0x22
je 0x50c574
cmp edi, 0x5c
jne 0x50c5c8
mov ebx, dword [esp + 0x34]
inc ebx
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
jae 0x50c5c1
mov dword [esp + 0x30], edi
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x30]
mov ebp, ecx
mov ecx, dword [esp + 0x6c]
mov byte [ebx + eax - 1], 0x5c
jmp 0x50c5d0
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x48]
mov dword [esp], ecx
mov ecx, edi
sar edi, 0x1f
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
call fcn.0044f340
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x38]
cmp ebp, edx
jb 0x50c612
mov esi, dword [esp + 0x60]
jmp 0x50c656
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x698da0]
mov dword [esp + 0x10], ecx
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
mov esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x60], esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebp
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00464c70
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
jmp 0x50c45a
lea ecx, [esi + 1]
cmp ebx, ecx
jae 0x50c6b6
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [ecx + eax - 1], 0x22
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044ee00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
add esp, 0x68
ret
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
mov ebp, dword [esp + 0x28]
inc ebp
mov dword [esp + 0x28], ebp
mov esi, ebx
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
cmp ebx, ebp
jle 0x50c83c
lea ebx, [esi + 2]
cmp edi, ebx
jae 0x50c753
mov dword [esp + 0x3c], esi
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 2
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov word [eax + esi], 0x785c
mov esi, dword [esp + 0x2c]
add esi, ebp
cmp edx, esi
jbe 0x50c847
mov dword [esp + 0x40], esi
inc ebx
movzx ebp, byte [esi + ecx]
xchg ebp, eax
shr al, 4
xchg ebp, eax
xchg ebp, eax
movzx eax, al
xchg ebp, eax
lea esi, [0x6d5f61]
movzx ebp, byte [esi + ebp]
cmp edi, ebx
jae 0x50c7cf
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
movzx ebp, byte [esp + 0x23]
lea esi, [0x6d5f61]
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
inc ebx
mov ebp, dword [esp + 0x40]
movzx ebp, byte [ebp + ecx]
and ebp, 0xf
movzx ebp, byte [esi + ebp]
cmp edi, ebx
jae 0x50c6e3
xchg ebp, eax
mov byte [esp + 0x23], al
xchg ebp, eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x698da0]
mov dword [esp + 0x10], eax
call fcn.0044b130
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
movzx ebp, byte [esp + 0x23]
lea esi, [0x6d5f61]
jmp 0x50c6e3
mov ecx, esi
mov edx, eax
mov eax, edi
jmp 0x50c45a
mov eax, esi
mov ecx, edx
call fcn.00464360
mov eax, ebp
mov ecx, esi
call fcn.004643c0
mov ecx, esi
call fcn.00464380
nop
call fcn.00462ed0
jmp fcn.0050c400