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

Disassembly:
mov ecx, dword [0x85d3cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x50d5fa
sub esp, 0xc0
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xc4]
mov eax, ebx
mov ecx, ebp
mov esi, edx
jmp 0x50ccd4
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
mov ebx, edi
mov ebp, esi
mov esi, dword [esp + 0xcc]
mov edi, dword [0x832e24]
cmp edi, 1
jb 0x50d5ed
dec edi
mov esi, dword [str._n_____BEGIN]
mov eax, dword [0x832e28]
dec eax
neg eax
sar eax, 0x1f
and eax, 1
add esi, eax
cmp ebx, edi
jge 0x50cd03
xor eax, eax
jmp 0x50cd3d
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x94], ebp
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x94]
test al, al
je 0x50cd69
mov esi, dword [0x832e24]
lea eax, [esi - 1]
cmp ebx, eax
jb 0x50d5e6
sub edx, esi
sub ebx, esi
inc edx
mov esi, edx
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [ebp + edx]
lea edx, [ebx + 1]
jmp 0x50cdb2
mov eax, dword [str._n_____BEGIN]
mov ecx, dword [0x832e24]
mov esi, dword [0x832e28]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
call fcn.0050ae70
movzx eax, byte [esp + 0x30]
test al, al
je 0x50d2c0
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0050ca70
mov eax, dword [0x832e44]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x8c], ebx
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xbc], esi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x80], edi
cmp ecx, eax
jl 0x50ce70
mov dword [esp + 0x40], ecx
sub ecx, eax
mov esi, dword [esp + 0x40]
cmp esi, ecx
jb 0x50d5dd
mov dword [esp + 0x44], ebp
sub esi, ecx
sub ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
add ebp, ebx
cmp eax, esi
je 0x50ce2f
xor eax, eax
jmp 0x50ce5f
mov eax, dword [0x832e40]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x8c]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0xbc]
jmp 0x50ce72
xor eax, eax
test al, al
je 0x50ccbb
mov eax, dword [0x832e44]
sub ecx, eax
cmp ebp, ecx
jb 0x50d5d6
mov dword [esp + 0x40], ecx
call fcn.0040ccc0
mov eax, dword [esp]
mov dword [esp + 0xb8], eax
lea ecx, [0x674a20]
mov dword [esp], ecx
call fcn.0040c260
mov eax, dword [0x85d680]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x50cec2
mov eax, dword [esp + 0xb8]
jmp 0x50ced0
call fcn.00468030
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
mov dword [esp + 0xb4], ecx
mov dword [ecx + 8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
call fcn.00451510
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xb4]
mov dword [edx + 4], eax
mov eax, dword [0x85d680]
test eax, eax
je 0x50cf21
call fcn.00468040
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0xbc]
jmp 0x50d314
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x50cf4f
mov ebx, dword [ebx]
jmp 0x50cf51
xor ebx, ebx
test ebx, ebx
jne 0x50cfc2
mov ebx, dword [0x832e34]
cmp ebx, 1
jb 0x50d5ca
mov ebp, dword [str._n_____END]
mov esi, dword [0x832e38]
dec ebx
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
jge 0x50cf8c
xor eax, eax
jmp 0x50cfb3
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
test al, al
je 0x50cfc6
mov ebx, dword [0x832e34]
dec ebx
xor eax, eax
jmp 0x50d017
mov ecx, dword [esp + 0x48]
mov eax, dword [str._n_____END]
mov edx, dword [0x832e34]
mov ebx, dword [0x832e38]
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x50]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call fcn.0050aa00
mov eax, dword [esp + 0x18]
mov ecx, dword [0x832e34]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
test eax, eax
jge 0x50d02d
mov edx, dword [esp + 0x50]
mov edi, ecx
mov esi, dword [esp + 0x90]
jmp 0x50ccbb
cmp ebx, ecx
ja 0x50d5c3
mov ebp, ecx
sub ebp, ebx
mov esi, dword [esp + 0x50]
sub esi, ebx
mov dword [esp + 0x74], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
mov ebx, dword [0x832e44]
mov edx, dword [esp + 0x40]
add ebx, edx
mov edi, dword [esp + 0x90]
add esi, edi
cmp ebp, ebx
jge 0x50d079
mov edx, dword [esp + 0x50]
mov edi, ecx
mov esi, dword [esp + 0x90]
jmp 0x50ccbb
jb 0x50d5ba
mov dword [esp + 0x78], eax
mov dword [esp + 0x70], ebx
mov edi, dword [esp + 0x74]
sub edi, ebx
mov dword [esp + 0x5c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebx
sub ebp, ebx
mov dword [esp + 0x58], ebp
add edi, esi
mov dword [esp + 0x98], edi
cmp edx, ebx
jle 0x50d0b3
xor edx, edx
jmp 0x50d0f6
mov dword [esp + 0xa4], esi
mov dword [esp], esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x98]
mov edx, eax
mov eax, dword [esp + 0x78]
test dl, dl
je 0x50d168
mov edx, dword [0x832e44]
cmp edx, ebx
jg 0x50d161
sub ebx, edx
mov ebp, dword [esp + 0x70]
cmp ebx, ebp
ja 0x50d5b1
sub ebp, ebx
mov edi, dword [esp + 0x74]
sub edi, ebx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, esi
cmp edx, ebp
je 0x50d12f
xor edx, edx
jmp 0x50d154
mov eax, dword [0x832e40]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, eax
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x98]
jmp 0x50d163
xor edx, edx
xor edx, 1
jmp 0x50d16d
mov edx, 1
test dl, dl
je 0x50d183
mov edx, dword [esp + 0x50]
mov edi, ecx
mov esi, dword [esp + 0x90]
jmp 0x50ccbb
mov dword [esp], edi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.0050ca70
mov eax, dword [esp + 0x10]
test eax, eax
je 0x50d1b3
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x90]
jmp 0x50ccbb
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x50d5ac
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0050cb90
mov eax, dword [0x837848]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x7c], ebx
cmp dword [eax + 0x140], 0xffffffff
jne 0x50d219
lea eax, [ecx + ecx*2]
mov ebp, eax
shl eax, 1
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + ebp*2]
sar eax, 3
jmp 0x50d21f
shr ecx, 2
lea eax, [ecx + ecx*2]
mov dword [esp + 0x34], eax
lea ecx, [0x662020]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044d740
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov ebx, dword [0x85d680]
test ebx, ebx
je 0x50d265
call fcn.00468040
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [0x837848]
mov ebx, dword [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
call fcn.0050c2a0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x50d4cd
mov edx, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x90]
jmp 0x50ccbb
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xdc], eax
add esp, 0xc0
ret
mov dword [eax], ecx
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x9c]
test eax, eax
je 0x50d566
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x90], ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0050ca70
mov eax, dword [0x832e50]
mov ecx, dword [0x832e54]
mov edx, dword [0x832e58]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x64], edi
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0050ae70
movzx eax, byte [esp + 0x30]
test al, al
je 0x50cf3d
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x88], ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0050a870
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
call fcn.0050a870
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00451510
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 8]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xac], ebx
mov dword [esp], 0
mov ebp, dword [esp + 0xa0]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 8], ebp
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x663980]
mov dword [esp], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00410700
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x50d4b5
mov ecx, dword [esp + 0xac]
jmp 0x50d2fc
call fcn.00468040
mov ecx, dword [esp + 0xac]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x50d2fc
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb4]
mov edx, dword [ebx + 0x14]
cmp edx, ecx
jb 0x50d5a7
mov dword [ebx + 0x10], ecx
mov edx, dword [0x832e34]
mov ebp, dword [esp + 0x78]
lea eax, [ebp + edx - 1]
add edx, ebp
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jb 0x50d5a2
sub ecx, edx
mov ebx, dword [esp + 0x50]
sub ebx, edx
lea edx, [ebx + 1]
mov ebx, edx
neg edx
inc ecx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x90]
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0050ca70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xc0
ret
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xdc], eax
add esp, 0xc0
ret
call fcn.004680f0
call fcn.004680d0
call fcn.004680d0
mov eax, ebx
mov ecx, ebp
call fcn.004680f0
mov eax, ebx
mov ecx, ebp
call fcn.004680f0
mov eax, ebx
call fcn.004680f0
mov eax, 1
xor ecx, ecx
call fcn.004680f0
mov edx, ebp
call fcn.004680d0
mov eax, ecx
mov ecx, esi
call fcn.004680f0
mov ecx, ebx
call fcn.004680f0
mov eax, 1
xor ecx, ecx
call fcn.004680f0
nop
call fcn.00466c30
jmp fcn.0050cc80