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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x50b0c9
sub esp, 0x68
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x1b4], 0
mov ebx, dword [0x68ad40]
test ebx, ebx
jne 0x50ae0d
mov dword [ecx + 0x1b0], 0
jmp 0x50ae1a
lea edi, [ecx + 0x1b0]
xor eax, eax
call fcn.0045c980
mov ebx, dword [esp + 0x74]
mov dword [ecx + 0x1bc], ebx
mov ebp, dword [esp + 0x78]
mov dword [ecx + 0x1c0], ebp
mov eax, ebp
mov ebp, dword [0x68ad40]
test ebp, ebp
jne 0x50ae46
mov ebp, dword [esp + 0x70]
mov dword [ecx + 0x1b8], ebp
jmp 0x50ae5d
lea edi, [ecx + 0x1b8]
mov edx, eax
mov eax, dword [esp + 0x70]
call fcn.0045c980
mov eax, edx
mov ebp, dword [esp + 0x70]
lea esi, [ecx + 0x1b0]
mov dword [esp + 0x48], esi
xor edx, edx
jmp 0x50ae8f
lea ebx, [eax + esi*8]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov dword [ebx], ebp
mov dword [ebx + 4], esi
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x48]
cmp ebx, edx
jle 0x50b037
mov dword [esp + 0x20], edx
lea edi, [esp + 0x54]
call fcn.0045d0ae
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x190]
mov dword [esp + 0x50], ecx
mov ebx, dword [ecx]
lea edi, [esp]
lea esi, [esp + 0x54]
call fcn.0045d0ae
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x50]
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
movzx eax, byte [esp + 0x32]
test al, al
jne 0x50af10
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
movzx ebx, byte [esp + 0x2d]
test bl, 8
sete bl
jmp 0x50af12
xor ebx, ebx
test bl, bl
je 0x50af3f
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + 0x184]
test ebp, ebp
jle 0x50af43
mov dword [esp], ebx
call fcn.0050a920
movzx eax, byte [esp + 4]
test al, al
je 0x50b02b
mov ebx, dword [esp + 0x6c]
jmp 0x50af43
mov ebx, dword [esp + 0x6c]
movzx eax, byte [ebx + 0x180]
cmp eax, 0x80
ja 0x50b0be
lea ebp, [eax - 0x80]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
lea ebp, [ebx + eax + 0x100]
mov eax, ebx
movzx ebx, byte [esp + 0x39]
mov edx, ebp
mov ebp, dword [esp + 0x20]
mov esi, ebx
add ebx, ebp
mov edi, ebp
mov ebp, dword [esp + 0x78]
cmp ebp, ebx
jb 0x50b0b5
cmp edi, ebx
ja 0x50b0ac
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
mov ebx, dword [esp + 0x70]
add ebp, ebx
cmp esi, ecx
jl 0x50afb2
mov esi, ecx
cmp edx, ebp
je 0x50afda
mov dword [esp + 0x24], esi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045d2d0
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x38]
mov ecx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
lea ebx, [esi + edi]
mov ebp, dword [eax + 0x184]
mov edx, ebx
movzx ebx, byte [esp + 0x42]
test bl, bl
ja 0x50b069
inc dword [eax + 0x184]
movzx ebx, byte [eax + 0x180]
mov esi, ebp
lea ebp, [ebx + 4]
xchg ebp, ebx
mov byte [eax + 0x180], bl
xchg ebp, ebx
mov byte [esp + 0x40], bl
cmp esi, 0x20
jb 0x50ae6b
jmp 0x50b043
mov dword [esp + 0x7c], 0xffffffff
add esp, 0x68
ret
mov dword [esp + 0x7c], 0
add esp, 0x68
ret
mov eax, esi
mov ecx, 0x20
call fcn.0045ca00
lea ebx, [eax + ebp*8]
mov ebp, dword [esp + 0x4c]
mov ecx, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [ebx], ecx
mov dword [ebx + 4], ebp
mov ecx, dword [esp + 0x70]
mov ebx, esi
mov ebp, edi
test ebp, ebp
jle 0x50b000
mov esi, ebx
lea ebx, [ebp - 1]
cmp ebx, 0x20
jae 0x50b0a0
mov edi, ebx
lea ebx, [eax + ebp*8 - 8]
mov dword [esp + 0x4c], ebx
lea ebx, [eax + ebp*8 - 6]
xchg esi, eax
cmp byte [ebx], al
xchg esi, eax
jbe 0x50b000
cmp ebp, 0x20
jb 0x50b04f
mov eax, ebp
mov ecx, 0x20
call fcn.0045ca00
mov eax, ebx
mov ecx, 0x20
call fcn.0045ca00
mov eax, edi
mov ecx, ebx
call fcn.0045ca60
mov ecx, ebx
mov edx, ebp
call fcn.0045ca40
mov ecx, pe_nt_image_headers32
call fcn.0045ca60
nop
call fcn.0045b540
jmp fcn.0050add0