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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x30]
cmp eax, dword [ecx + 8]
jbe 0x50c379
sub esp, 0xb0
movzx eax, byte [0x92b265]
test al, al
jne 0x50bbcd
mov byte [0x92b265], 1
call fcn.004c5810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp]
test eax, eax
jne 0x50bbc6
mov eax, dword [esp + 0xb4]
test eax, eax
je 0x50bbbf
mov dword [esp + 0x88], edx
mov dword [esp + 0x50], ecx
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ca160
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
test edx, edx
jne 0x50bbb8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004c8fb0
mov eax, dword [esp + 8]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], edx
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x88]
xor esi, esi
xor edi, edi
xor esi, esi
mov dword [esp + 0x74], esi
xor esi, esi
jmp 0x50bbfc
add esp, 0xb0
ret
add esp, 0xb0
ret
add esp, 0xb0
ret
add esp, 0xb0
ret
mov eax, dword [esp + 0x5c]
lea esi, [eax + 1]
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x3c]
mov edi, ebx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x38], edi
cmp esi, ebx
jge 0x50bc4a
jae 0x50c36f
mov dword [esp + 0x5c], esi
shl esi, 5
mov dword [esp + 0x6c], esi
lea ecx, [ebp + esi]
mov dword [esp + 0xa4], ecx
mov dword [esp], ecx
call fcn.004c5650
mov ecx, dword [esp + 8]
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
xor ebp, ebp
jmp 0x50c179
mov ebx, dword [esp + 0x74]
xor ebp, ebp
jmp 0x50bc63
mov byte [ebp + edx + 6], bl
inc ebp
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
cmp edi, ebp
jle 0x50bc89
jbe 0x50c154
mov esi, dword [0x906394]
mov edx, dword [0x906390]
lea edi, [ebp + 6]
movzx ebx, byte [ebx + ebp]
cmp esi, edi
ja 0x50bc52
jmp 0x50c14b
mov ebx, dword [0x906394]
mov ebp, dword [0x906390]
cmp ebx, 0xc
jbe 0x50c13f
mov byte [ebp + 0xc], 8
mov ebx, dword [0x906394]
mov ebp, dword [0x906390]
cmp ebx, 0xd
jbe 0x50c133
mov byte [ebp + 0xd], 0
xor ebx, ebx
xor ebp, ebp
jmp 0x50bcd3
movzx esi, byte [ebx + edi]
xchg esi, eax
test al, al
xchg esi, eax
xchg esi, ebx
setne bl
xchg esi, ebx
inc ebx
or ebp, esi
cmp ebx, 6
jge 0x50bced
mov esi, dword [0x906394]
mov edi, dword [0x906390]
cmp ebx, esi
jb 0x50bcc1
jmp 0x50c12a
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x50be8f
movzx ebx, byte [0x92b264]
test bl, bl
jne 0x50be88
mov byte [0x92b264], 1
mov dword [esp + 4], 0
mov dword [esp], 0x3b9aca00
call fcn.0045ff70
call fcn.0050a8d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp]
test eax, eax
jne 0x50bd47
mov dword [esp + 0x60], ecx
mov dword [esp + 0x94], edx
xor eax, eax
jmp 0x50bfed
lea eax, [0x543f07]
mov dword [esp], eax
mov dword [esp + 4], 0xb
mov dword [esp + 8], 0x242
mov dword [esp + 0xc], 0x1b6
call fcn.004afd90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x50be81
mov dword [esp + 0x8c], ecx
mov eax, dword [0x8dc070]
mov edx, dword [0x8dc074]
mov ebx, dword [0x8dc078]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004afb90
nop
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x50bdc0
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004b0750
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
lea eax, [0x53fa04]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], 5
lea eax, [0x543f07]
mov dword [esp], eax
mov dword [esp + 4], 0xb
lea ecx, [esp + 0xa8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004f5430
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004f66a0
lea eax, [0x543f07]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.004b0910
mov dword [esp + 4], 0
mov dword [esp], 0x3b9aca00
call fcn.0045ff70
mov eax, dword [0x9062c4]
test eax, eax
je 0x50be7a
call fcn.0050a8d0
mov ecx, dword [esp + 4]
mov dword [esp + 0x60], ecx
mov eax, dword [esp]
mov dword [esp + 0x90], eax
xor edx, edx
jmp 0x50be99
add esp, 0xb0
ret
add esp, 0xb0
ret
add esp, 0xb0
ret
add esp, 0xb0
ret
lea edx, [ebx + 1]
cmp edx, ecx
jge 0x50bec7
jae 0x50bfe3
mov dword [esp + 0x54], edx
mov ebx, edx
shl edx, 5
mov dword [esp + 0x6c], edx
mov ebp, dword [edx + eax + 0x14]
mov dword [esp + 0x80], ebp
mov esi, dword [edx + eax + 0x18]
mov dword [esp + 0x48], esi
xor edi, edi
jmp 0x50beec
add esp, 0xb0
ret
mov eax, dword [esp + 0x28]
lea edi, [eax + 1]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x48]
mov eax, edx
mov ecx, dword [esp + 0x60]
mov edx, ebx
mov ebx, dword [esp + 0x54]
cmp edi, esi
jge 0x50be96
jae 0x50bfda
mov dword [esp + 0x28], edi
lea eax, [edi + edi*2]
shl eax, 4
mov ecx, dword [ebp + eax]
mov edx, dword [ebp + eax + 4]
mov eax, dword [ebp + eax + 8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004c7270
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
call fcn.004c7270
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
cmp dword [esp + 0x10], ecx
je 0x50bf69
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x6c]
jmp 0x50bece
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a50
movzx eax, byte [esp + 0xc]
test al, al
je 0x50bfca
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [ebx + edx + 4]
mov eax, dword [ebx + edx]
mov dword [0x9062c4], ebp
mov ebp, dword [0x92b5b0]
test ebp, ebp
jne 0x50bfb3
mov dword [0x9062c0], eax
jmp 0x50bfbe
lea edi, [0x9062c0]
call fcn.00461c70
mov byte [0x92b263], 1
jmp 0x50bece
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x6c]
jmp 0x50bece
mov eax, edi
mov ecx, esi
call fcn.00461cf0
mov eax, edx
call fcn.00461cf0
lea eax, [ebx + 1]
cmp eax, ecx
jge 0x50bec7
jae 0x50c125
mov dword [esp + 0x58], eax
mov ebx, eax
shl eax, 5
mov dword [esp + 0x6c], eax
mov ebp, dword [eax + edx + 0x14]
mov dword [esp + 0x84], ebp
mov esi, dword [eax + edx + 0x18]
mov dword [esp + 0x4c], esi
xor edi, edi
jmp 0x50c044
mov eax, dword [esp + 0x2c]
lea edi, [eax + 1]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x58]
cmp edi, esi
jge 0x50bfea
jae 0x50c11c
mov dword [esp + 0x2c], edi
lea eax, [edi + edi*2]
shl eax, 4
mov ecx, dword [ebp + eax]
mov edx, dword [ebp + eax + 4]
mov eax, dword [ebp + eax + 8]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004c7270
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa0], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
call fcn.004c7270
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
cmp dword [esp + 0x10], ecx
jne 0x50c01f
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402a50
movzx eax, byte [esp + 0xc]
test al, al
je 0x50c01f
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
mov eax, dword [edx + ecx]
mov ecx, dword [edx + ecx + 4]
mov dword [0x9062c4], ecx
mov ecx, dword [0x92b5b0]
test ecx, ecx
jne 0x50c103
mov dword [0x9062c0], eax
jmp 0x50c10e
lea edi, [0x9062c0]
call fcn.00461c70
mov byte [0x92b263], 1
add esp, 0xb0
ret
mov eax, edi
mov ecx, esi
call fcn.00461cf0
call fcn.00461cf0
mov eax, ebx
mov ecx, esi
call fcn.00461cf0
mov eax, 0xd
mov ecx, ebx
call fcn.00461cf0
mov eax, 0xc
mov ecx, ebx
call fcn.00461cf0
mov eax, edi
mov ecx, esi
call fcn.00461cf0
mov eax, ebp
mov ecx, edi
call fcn.00461cf0
mov esi, dword [esp + 0x30]
inc esi
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x64]
mov ebp, esi
mov ebx, eax
mov edx, ecx
mov eax, edi
mov ecx, dword [esp + 0x64]
cmp ebp, ecx
jge 0x50bbd4
jae 0x50c368
mov dword [esp + 0x30], ebp
mov dword [esp + 0x68], ebx
mov dword [esp + 0x9c], edx
lea ecx, [eax + ebp*8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [edx + 0x14]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x53ed37]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004dba10
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
call fcn.004c7270
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x24]
test edx, edx
jbe 0x50c35f
mov edx, dword [esp + 0x70]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
cmp ebx, ecx
je 0x50c244
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x9c]
jmp 0x50c15d
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00402a50
movzx eax, byte [esp + 0xc]
test al, al
jne 0x50c278
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x9c]
jmp 0x50c15d
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + eax + 0x10]
mov dword [esp + 0x74], edx
mov ebx, dword [ecx + eax + 0x14]
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp], ebp
call fcn.0050ca20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
test eax, eax
je 0x50c2bf
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x88]
jmp 0x50c2d6
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], edx
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x88]
xor eax, eax
jmp 0x50c315
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x74]
jmp 0x50c15d
lea ecx, [edx + eax*8]
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0050c390
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x88]
mov ecx, edx
mov edx, dword [esp + 0x7c]
cmp eax, ecx
jge 0x50c2d6
mov dword [esp + 0x34], eax
mov esi, dword [ebp + ebx + 8]
mov edi, ebx
mov ebx, dword [ebp + ebx + 0xc]
mov dword [0x9062c4], ebx
mov ebx, dword [0x92b5b0]
test ebx, ebx
jne 0x50c341
mov dword [0x9062c0], esi
cmp eax, ecx
jmp 0x50c358
mov ebx, edi
lea edi, [0x9062c0]
mov eax, esi
call fcn.00461c70
mov eax, dword [esp + 0x34]
cmp eax, ecx
mov edi, ebx
jb 0x50c2e3
call fcn.00461cf0
xor eax, eax
mov ecx, eax
call fcn.00461cf0
mov eax, ebp
call fcn.00461cf0
mov eax, esi
mov ecx, ebx
call fcn.00461cf0
nop
call fcn.00460860
jmp fcn.0050bad0