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

Disassembly:
push 0xffffffffffffffff
push 0x5db9cc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x164
push ebx
push ebp
mov ebx, ecx
push esi
push edi
lea ecx, [esp + 0x1c]
mov dword [esp + 0x24], ebx
call fcn.00558060
xor ebp, ebp
lea ecx, [esp + 0x18]
mov dword [esp + 0x17c], ebp
call fcn.00558060
mov al, byte [esp + 0x13]
sub esp, 0x10
mov edx, esp
or esi, 0xffffffff
mov edi, 0x619c18
mov ecx, esi
mov byte [edx], al
xor eax, eax
mov dword [edx + 4], ebp
mov dword [edx + 8], ebp
mov dword [edx + 0xc], ebp
mov dword [esp + 0x24], esp
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x18c], 1
push ecx
push 0x619c18
mov ecx, edx
call fcn.004017b0
push ebp
lea ecx, [esp + 0x40]
call fcn.00542e70
push 7
mov ecx, ebx
mov byte [esp + 0x180], 2
call fcn.00509f70
cmp ax, bp
jge 0x50d5fc
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x6094cc
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 3
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x609440
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x18c], 2
call fcn.00543af0
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x50da3a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x50da31
cmp al, 0xff
je 0x50da31
dec al
mov byte [ecx], al
jmp 0x50da3a
jne 0x50d62c
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 4
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x60e030
jmp 0x50d5ba
movsx dx, byte [0x60e5b8]
mov cl, byte [ebx + 0x2a]
push edx
mov byte [0x60e5ba], cl
push 0x60e5b9
lea ecx, [esp + 0x24]
call fcn.00558600
lea eax, [esp + 0x18]
lea edx, [esp + 0x1c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push edx
call fcn.00558070
mov ecx, ebx
call fcn.00504f50
cmp ax, bp
jg 0x50d698
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x6094cc
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 5
mov ecx, esp
mov dword [esp + 0x24], esp
jmp 0x50d5b3
push 3
lea ecx, [esp + 0x1c]
call fcn.00558380
cmp al, 0x7f
je 0x50d79e
push 5
lea ecx, [esp + 0x1c]
call fcn.00558380
and eax, 0xff
lea ecx, [esp + 0x18]
push eax
push 4
call fcn.00558380
and eax, 0xff
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x60e698
call fcn.00558100
lea eax, [esp + 0x50]
push eax
call fcn.00560f40
mov edx, dword [eax]
sub esp, 8
mov ecx, esp
push str._s:_r_n_x_r_n_x
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
lea ecx, [esp + 0x90]
push ecx
call fcn.005bcf3d
mov eax, dword [esp + 0x68]
add esp, 0x20
cmp eax, ebp
je 0x50d73f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x50d736
cmp al, 0xff
je 0x50d736
dec al
mov byte [ecx], al
jmp 0x50d73f
push ecx
call fcn.005bc500
add esp, 4
push ebp
push 1
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x60e684
call fcn.00558100
push edi
call fcn.00560f40
sub esp, 8
lea edx, [esp + 0x3b]
mov ecx, esp
mov dword [esp + 0x3c], esp
lea eax, [esp + 0x9c]
push edx
push eax
mov byte [esp + 0x1ac], 6
call fcn.00404ee0
mov ecx, 0x619a58
mov byte [esp + 0x1a4], 2
call fcn.00543a40
jmp 0x50d5d1
mov bl, byte [esp + 0x13]
push 0xfffff
lea ecx, [esp + 0x78]
push 0x609488
push ecx
call fcn.005bcf3d
push ecx
lea edi, [esp + 0x84]
mov edx, esp
mov ecx, esi
xor eax, eax
mov dword [esp + 0x24], esp
mov byte [edx], bl
mov dword [edx + 4], ebp
mov dword [edx + 8], ebp
mov dword [edx + 0xc], ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x84]
push ecx
push eax
mov ecx, edx
call fcn.004017b0
sub esp, 0x10
lea edx, [esp + 0x33]
mov ecx, esp
mov dword [esp + 0x74], esp
push edx
push 0x60af04
mov byte [esp + 0x1a4], 7
call fcn.00404ee0
sub esp, 0x10
lea eax, [esp + 0x73]
mov ecx, esp
mov dword [esp + 0xa0], esp
push eax
push 0x60cf40
mov byte [esp + 0x1b4], 8
call fcn.00404ee0
sub esp, 0x10
lea edx, [esp + 0x82]
mov ecx, esp
mov dword [esp + 0x98], esp
push edx
push 0x619c18
mov byte [esp + 0x1c4], 9
call fcn.00404ee0
sub esp, 0x10
mov byte [esp + 0x1cc], 0xa
mov edi, esp
mov dword [esp + 0x78], esp
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push 6
push 0x60e67c
call fcn.00558100
push edi
call fcn.00560f40
sub esp, 8
mov byte [esp + 0x1dc], 0xb
mov edi, esp
mov dword [esp + 0x80], esp
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push 6
push 0x60e67c
call fcn.00558100
push edi
call fcn.00560f40
add esp, 8
lea eax, [esp + 0xbc]
mov byte [esp + 0x1dc], 2
mov ecx, 0x619a58
push eax
call fcn.00543d00
mov edx, dword [0x5e5150]
mov cx, word [eax]
push edx
add eax, 4
mov word [esp + 0x30], cx
push ebp
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x188], 0xc
call fcn.004120f0
mov eax, dword [esp + 0x64]
mov byte [esp + 0x17c], 2
cmp eax, ebp
je 0x50d91a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x50d911
cmp al, 0xff
je 0x50d911
dec al
mov byte [ecx], al
jmp 0x50d91a
push ecx
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x2c]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], ebp
call fcn.00551f50
cmp ax, 2
je 0x50d5d1
lea eax, [esp + 0x44]
lea ecx, [esp + 0x2c]
push eax
call fcn.00542fb0
mov edi, dword [eax + 4]
cmp edi, ebp
jne 0x50d953
mov edi, 0x5e514c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x74]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x48]
and ecx, 3
cmp eax, ebp
rep movsb byte es:[edi], byte [esi]
je 0x50d999
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x50d990
cmp al, 0xff
je 0x50d990
dec al
mov byte [ecx], al
jmp 0x50d999
push ecx
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x74]
mov dword [esp + 0x48], ebp
push ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
call fcn.005bd3b2
add esp, 4
cmp eax, ebp
mov dword [esp + 0x14], eax
jl 0x50d9c5
cmp eax, 0xfffff
jle 0x50da63
push ebp
push 1
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x38], esp
push ecx
mov ecx, esp
mov dword [esp + 0x44], esp
push 6
push 0x609448
call fcn.00558100
push esi
call fcn.00560f40
sub esp, 8
mov byte [esp + 0x1a4], 0xd
mov esi, esp
mov dword [esp + 0x50], esp
push ecx
mov ecx, esp
mov dword [esp + 0x54], esp
push 6
push 0x60e67c
call fcn.00558100
push esi
call fcn.00560f40
add esp, 8
mov ecx, 0x619a58
mov byte [esp + 0x1a4], 2
call fcn.00543a40
or esi, 0xffffffff
jmp 0x50d7a2
push ecx
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x17c], 0
call fcn.005581a0
mov dword [esp + 0x17c], esi
jmp 0x50dee5
push ebp
push ebp
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 0xe
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x60e010
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x18c], 2
call fcn.00543af0
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov eax, ebx
mov ecx, ebx
mov dl, byte [edi + 0x2a]
lea esi, [edi + 0x3c]
sar eax, 0x10
sar ecx, 8
mov byte [0x60e5c2], dl
mov byte [0x60e5d1], al
mov byte [0x60e5d2], cl
mov byte [0x60e5d3], bl
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50db02
mov al, byte [eax - 1]
test al, al
je 0x50daf2
cmp al, 0xff
je 0x50daf2
mov edx, dword [esi + 8]
push ebp
push edx
mov ecx, esi
call fcn.004018c0
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50dafd
mov byte [eax - 1], 0xff
mov eax, dword [esi + 4]
jmp 0x50db07
mov eax, 0x5e514c
mov al, byte [eax]
mov byte [0x60e5cc], al
mov ecx, dword [esi + 8]
cmp ecx, 1
jb 0x50db42
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50db42
mov al, byte [eax - 1]
test al, al
je 0x50db31
cmp al, 0xff
je 0x50db31
push ebp
push ecx
mov ecx, esi
call fcn.004018c0
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50db3c
mov byte [eax - 1], 0xff
mov eax, dword [esi + 4]
inc eax
jmp 0x50db47
mov eax, 0x5e514c
mov cl, byte [eax]
mov byte [0x60e5cd], cl
mov ecx, dword [esi + 8]
cmp ecx, 2
jb 0x50db85
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50db85
mov al, byte [eax - 1]
test al, al
je 0x50db72
cmp al, 0xff
je 0x50db72
push ebp
push ecx
mov ecx, esi
call fcn.004018c0
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50db7d
mov byte [eax - 1], 0xff
mov eax, dword [esi + 4]
add eax, 2
jmp 0x50db8a
mov eax, 0x5e514c
mov dl, byte [eax]
mov byte [0x60e5ce], dl
mov ecx, dword [esi + 8]
cmp ecx, 3
jb 0x50dbc8
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50dbc8
mov al, byte [eax - 1]
test al, al
je 0x50dbb5
cmp al, 0xff
je 0x50dbb5
push ebp
push ecx
mov ecx, esi
call fcn.004018c0
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x50dbc0
mov byte [eax - 1], 0xff
mov esi, dword [esi + 4]
add esi, 3
jmp 0x50dbcd
mov esi, 0x5e514c
movsx cx, byte [0x60e5c0]
mov al, byte [esi]
push ecx
push 0x60e5c1
lea ecx, [esp + 0x24]
mov byte [0x60e5cf], al
call fcn.00558600
lea edx, [esp + 0x18]
lea eax, [esp + 0x1c]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00558070
mov ecx, edi
call fcn.00504f50
cmp ax, bp
jg 0x50dc3b
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x6094cc
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 0xf
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x609440
jmp 0x50dca8
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x10]
cmp ax, bp
jg 0x50dc75
push ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x6094cc
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 0x10
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x609440
jmp 0x50dca8
mov eax, dword [edi + 0x4c]
push ebp
push 1
push ecx
cmp ebx, eax
mov ecx, esp
je 0x50dcc4
mov dword [esp + 0x2c], esp
push 6
push 0x6094cc
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 0x11
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x60e000
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x18c], 2
call fcn.00543af0
jmp 0x50de98
mov dword [esp + 0x2c], esp
push 6
push 0x609448
call fcn.00558100
push ecx
mov byte [esp + 0x18c], 0x12
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x60e008
call fcn.00558100
mov ecx, 0x619a58
mov byte [esp + 0x18c], 2
call fcn.00543af0
sub esp, 0x10
mov esi, esp
mov dword [esp + 0x30], esp
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x60e654
call fcn.00558100
push esi
call fcn.00560f40
mov ecx, dword [0x619a70]
add esp, 8
call fcn.00561b40
lea ecx, [edi + 4]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + 4]
cmp eax, ebp
jne 0x50dd47
xor edx, edx
jmp 0x50dd5d
mov ecx, dword [ecx + 8]
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, word [esp + 0x14]
cmp eax, edx
jae 0x50de8d
movsx eax, word [esp + 0x14]
mov ecx, dword [esp + 0x24]
push eax
call fcn.004e6420
mov esi, eax
sub esp, 0x10
add esi, 4
mov ebp, esp
xor edi, edi
mov dword [esp + 0x30], esp
mov cl, byte [esi]
mov dword [ebp + 4], edi
mov byte [ebp], cl
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov eax, dword [esi + 8]
mov ecx, dword [0x5e5150]
mov ebx, eax
cmp ecx, ebx
jae 0x50dda8
mov ebx, ecx
cmp ebp, esi
jne 0x50ddc3
push ecx
push ebx
mov ecx, ebp
call fcn.00421610
push edi
push edi
mov ecx, ebp
call fcn.00421610
jmp 0x50de44
cmp ebx, edi
jbe 0x50de0b
cmp ebx, eax
jne 0x50de0b
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x50ddd7
mov eax, 0x5e514c
cmp byte [eax - 1], 0xfe
jae 0x50de0b
push 1
mov ecx, ebp
call fcn.00401850
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x50ddf2
mov eax, 0x5e514c
mov dword [ebp + 4], eax
mov ecx, dword [esi + 8]
mov dword [ebp + 8], ecx
mov esi, dword [esi + 0xc]
mov dword [ebp + 0xc], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x50de44
push 1
push ebx
mov ecx, ebp
call fcn.004018c0
test al, al
je 0x50de44
mov esi, dword [esi + 4]
cmp esi, edi
jne 0x50de25
mov esi, 0x5e514c
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [ebp + 8], ebx
mov ebp, dword [ebp + 4]
add ebp, ebx
mov byte [ebp], 0
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
movsx eax, si
push eax
mov byte [esp + 0x190], 0x13
call fcn.004e6420
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push eax
call fcn.00558070
mov ecx, dword [0x619a70]
mov byte [esp + 0x190], 2
call fcn.00561e40
mov ecx, dword [esp + 0x24]
inc esi
mov dword [esp + 0x14], esi
xor ebp, ebp
jmp 0x50dd3c
mov ecx, dword [0x619a70]
call fcn.00561f50
mov eax, dword [esp + 0x34]
cmp eax, ebp
je 0x50debd
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x50deb4
cmp al, 0xff
je 0x50deb4
dec al
mov byte [ecx], al
jmp 0x50debd
push ecx
call fcn.005bc500
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov byte [esp + 0x17c], 0
call fcn.005581a0
mov dword [esp + 0x17c], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.005581a0
mov ecx, dword [esp + 0x174]
pop edi
pop esi
pop ebp
mov ax, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x170
ret