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

Disassembly:
mov ecx, dword [0x82b814]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50cdd2
sub esp, 0x68
lea eax, [0x630a60]
mov dword [esp], eax
mov dword [esp + 4], 1
mov ecx, dword [esp + 0x70]
lea edx, [ecx + 2]
mov dword [esp + 0x40], edx
mov dword [esp + 8], edx
call fcn.00450080
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
xor ebp, ebp
mov esi, 1
jmp 0x50c9e0
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x54]
mov ebx, ecx
mov esi, eax
mov ecx, edi
mov eax, edx
mov edx, dword [esp + 0x6c]
cmp ecx, ebp
jle 0x50cc01
mov dword [esp + 0x34], ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x58], eax
movzx edi, byte [edx + ebp]
lea eax, [edx + ebp]
cmp edi, 0x80
jge 0x50ca0c
lea ebx, [ebp + 1]
jmp 0x50ca3c
mov dword [esp + 0x64], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.004632a0
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x54], ebx
lea ebx, [edi - 0x20]
cmp ebx, 0x60
jb 0x50cad8
cmp edi, 0xfffd
jne 0x50ca8c
lea ebx, [ebp + 2]
cmp ecx, ebx
jle 0x50ca85
lea ebx, [ebp + 3]
cmp ecx, ebx
jb 0x50cdc8
cmp ebp, ebx
ja 0x50cdbf
cmp word [eax], 0xbfef
jne 0x50ca85
lea ebx, [edx + ebp + 2]
cmp byte [ebx], 0xbd
jne 0x50ca85
mov eax, 3
jmp 0x50cab9
mov eax, 1
jmp 0x50cab9
mov eax, edi
sar edi, 0x1f
lea ecx, [esp + 0x28]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00454250
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
jmp 0x50cc80
cmp edi, 0x22
je 0x50cae2
cmp edi, 0x5c
jne 0x50cb40
lea eax, [esi + 1]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
jb 0x50caf3
mov ebp, dword [esp + 0x58]
jmp 0x50cb39
mov dword [esp + 0x38], edi
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x630a60]
mov dword [esp + 0x10], eax
call fcn.00450140
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x38]
mov ebp, eax
mov eax, ecx
mov ecx, dword [esp + 0x70]
mov byte [eax + ebp - 1], 0x5c
jmp 0x50cb4a
mov ebx, dword [esp + 0x40]
mov eax, esi
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x60], ebp
mov ecx, edi
sar edi, 0x1f
lea edx, [esp + 0x24]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00454250
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
lea edx, [eax + ecx]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x50cb8c
mov esi, dword [esp + 0x60]
jmp 0x50cbd2
mov dword [esp + 0x50], eax
mov dword [esp + 0x5c], ebx
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, [0x630a60]
mov dword [esp + 0x10], ecx
call fcn.00450140
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov esi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x60], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0046c2a0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x60]
jmp 0x50c9c8
lea ecx, [esi + 1]
cmp ebx, ecx
jae 0x50cc32
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x630a60]
mov dword [esp + 0x10], eax
call fcn.00450140
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.00453e70
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 esi, ebx
mov byte [eax + edi - 1], bl
xchg esi, ebx
mov ecx, dword [esp + 0x30]
inc ecx
mov esi, dword [esp + 0x34]
mov ebp, esi
mov dword [esp + 0x30], ecx
mov esi, eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x70]
mov ebp, dword [esp + 0x30]
cmp eax, ebp
jle 0x50cdad
lea eax, [esi + 2]
cmp ebx, eax
jae 0x50ccd5
mov dword [esp + 0x4c], esi
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x630a60]
mov dword [esp + 0x10], eax
call fcn.00450140
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
mov word [edi + esi], 0x785c
mov esi, dword [esp + 0x34]
add esi, ebp
cmp ecx, esi
jbe 0x50cdb8
inc eax
movzx ecx, byte [edx + esi]
shr cl, 4
movzx ecx, cl
lea ebp, [0x66328b]
movzx ecx, byte [ebp + ecx]
cmp ebx, eax
jae 0x50cd4c
mov dword [esp + 0x50], esi
mov byte [esp + 0x23], cl
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x630a60]
mov dword [esp + 0x10], eax
call fcn.00450140
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x23]
mov edx, dword [esp + 0x6c]
lea ebp, [0x66328b]
mov esi, dword [esp + 0x50]
mov byte [eax + edi - 1], cl
inc eax
movzx esi, byte [edx + esi]
and esi, 0xf
movzx esi, byte [ebp + esi]
cmp ebx, eax
jae 0x50cc5f
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x630a60]
mov dword [esp + 0x10], eax
call fcn.00450140
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x6c]
lea ebp, [0x66328b]
movzx esi, byte [esp + 0x23]
jmp 0x50cc5f
mov eax, esi
mov ecx, ebx
mov edx, edi
jmp 0x50c9c8
mov eax, esi
call fcn.0046b9b0
mov eax, ebp
mov ecx, ebx
call fcn.0046ba10
mov edx, ecx
mov ecx, ebx
call fcn.0046b9d0
nop
call fcn.0046a530
jmp fcn.0050c970