Function at 0x50fc5d
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x50f566
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x50f3ca
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x50f47c
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x50f47c
push eax
push ecx
add esp, 4
sub eax, 0xdb61
jmp 0x50f40b
pop eax
je 0x50f46e
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x50f475
jmp 0x50f3bb
jmp 0x50f47c
push edi
push eax
add esp, 4
xor edi, 0x1801f
xor edi, 0x34f3
pop edi
push esi
push ecx
add esp, 4
call 0x50f49f
add byte [ecx], bh
xor eax, 0x3d4c4d4d
add esp, 4
jmp 0x50f4a7
jmp 0x50f4ad
pop esi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x50f4db
mov dword [ebp - 0xc30], 0
jmp 0x50f54a
push ecx
or ecx, 0x7333
and ecx, 0xbe53
add ecx, 0xa46e
pop ecx
push eax
push esi
add esp, 4
sub eax, 0xa9c7
add eax, 0x11f16
and eax, 0x16f7f
xor eax, 0x590c
pop eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x50f540
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x50f54a
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x50f561
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x50f572
jmp 0x50f34b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x50f64d
push ecx
push edx
add esp, 4
add ecx, 0x82ad
call 0x50f596
add byte [0x36494642], dh
cmp dword [ebx - 0x167efb3c], eax
imul byte [ebp + 0x9e80000]
add byte [eax], al
add byte [eax], al
aaa
xor eax, 0x494e3e39
cmp dword [esi], esi
add esp, 4
pop ecx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push esi
push eax
add esp, 4
sub esi, 0xbdf9
and esi, 0xad13
or esi, 0x16b0b
pop esi
push ecx
and ecx, 0x169ec
add ecx, 0x117cb
add ecx, 0x113d0
sub ecx, 0xe3f5
pop ecx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x50f64d
push ecx
or ecx, 0x160ed
or ecx, 0x11452
call 0x50f628
add byte [eax + 0x39], cl
cmp byte [eax + 0x32], al
inc esp
xor ecx, dword [edi + 0x3c]
add esp, 4
pop ecx
push edi
push eax
add esp, 4
and edi, 0x68b1
and edi, 0x7ece
pop edi
mov dword [ebp - 0x738], 0
jmp 0x50fd37
push esi
xor esi, 0x126e4
pop esi
push eax
and eax, 0x11c1e
sub eax, 0x3e8a
call 0x50f66f
add byte [ecx + edi + 0x37], cl
cmp byte [ebp + 0x37], al
dec edi
add esp, 4
pop eax
push edi
push ecx
add esp, 4
add edi, 0x160d0
pop edi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push ecx
push eax
add esp, 4
and ecx, 0x22d9
xor ecx, 0xd586
or ecx, 0xd85e
pop ecx
push edx
xor edx, 0x6e7f
add edx, 0x1852
xor edx, 0x14d6
and edx, 0x6771
pop edx
cmp dword [ebp - 0x14f4], 0
jne 0x50f6f0
mov dword [ebp - 0x2e0], 0
jmp 0x50f997
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push edx
jmp 0x50f70b
sub edx, 0x139ea
jmp 0x50f71a
pop edx
push edx
jmp 0x50f721
jmp 0x50f727
pop edx
push edi
push eax
add esp, 4
or edi, 0x131d7
pop edi
cmp dword [ebp - 0xc3c], 0
jne 0x50f74c
mov dword [ebp - 0x2e0], 0
jmp 0x50f997
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push ecx
push ecx
add esp, 4
or ecx, 0xe678
add ecx, 0xb8af
and ecx, 0x18120
pop ecx
push ecx
xor ecx, 0x12571
and ecx, 0xa0d2
or ecx, 0xb10b
add ecx, 0x4bf9
pop ecx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edx
push esi
add esp, 4
sub edx, 0x23eb
xor edx, 0x112c1
pop edx
push eax
sub eax, 0x3410
or eax, 0x222e
sub eax, 0x12020
pop eax
push eax
push eax
add esp, 4
jmp 0x50f7e5
pop eax
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push ebx
xor ebx, 0x55d4
and ebx, 0x17026
or ebx, 0xc1fe
pop ebx
push ecx
push eax
add esp, 4
xor ecx, 0x2d84
sub ecx, 0x7f96
or ecx, 0x10f5e
and ecx, 0xddad
pop ecx
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x50f88c
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x50f8e6
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x50f7b4
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x50f7b4
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x50f8d0
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x50f8da
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x50f92f
push edi
push esi
add esp, 4
and edi, 0x4bfd
jmp 0x50f902
and edi, 0xc81e
jmp 0x50f911
pop edi
push ecx
push ebx
add esp, 4
jmp 0x50f920
pop ecx
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x50f997
push ecx
sub ecx, 0x11465
xor ecx, 0xe331
sub ecx, 0x13019
pop ecx
push ecx
or ecx, 0x11536
pop ecx
push edx
and edx, 0x9d5e
jmp 0x50f958
pop edx
push edi
and edi, 0x1c54
pop edi
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x50f98d
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x50f758
mov dword [ebp - 0x2e0], 0
push edi
push edi
add esp, 4
or edi, 0x2781
call 0x50f9b0
add byte [ecx + 0x3e], cl
dec ebx
xor eax, 0x4d423e4c
add esp, 4
pop edi
push esi
jmp 0x50f9ba
jmp 0x50f9c1
jmp 0x50f9c8
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edi
push eax
add esp, 4
jmp 0x50f9e4
or edi, 0xad78
pop edi
push esi
add esi, 0x97a
add esi, 0xc8ff
call 0x50fa06
add byte [edx], dh
inc edi
dec esp
inc esi
dec ebx
cmp eax, dword [edx + esi - 0x7d]
les eax, [esi + ebx*2]
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x50fa3a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x50fd2b
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x50fa62
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x50fd2b
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x50fa94
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x50fd2b
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x50fab9
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x50fd2b
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x50fb13
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x50fd1f
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x50fb83
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x50fc35
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x50fc35
push eax
xor eax, 0x11de
or eax, 0x169d5
pop eax
push edx
push eax
add esp, 4
or edx, 0x12dd1
add edx, 0x14625
call 0x50fbde
add byte [eax + 0x3f], cl
inc edx
xor al, byte [ebp + 0x3b]
dec esp
inc esi
xor al, 0x83
les eax, [edx + ebx*2]
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x50fc27
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x50fc2e
jmp 0x50fb74
jmp 0x50fc35
push edi
push edx
add esp, 4
call 0x50fc46
add byte [esi + 0x4b], al
inc ebx
inc edi
dec esp
dec eax
add esp, 4
and edi, 0x8427
call 0x50fc5d
add byte [ebp + 0x34], al
aaa
dec ebp
inc ebp
cmp eax, dword [ecx + eax*2 - 0x7d]
les eax, [ecx + eax*4]
out dx, eax
sbb eax, 0x5f0000e7
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x50fc94
mov dword [ebp - 0xc40], 0
jmp 0x50fd03
push ecx
push esi
add esp, 4
add ecx, 0xc528
pop ecx
push edi
push edi
add esp, 4
add al, 0x81
out 0x79, eax
dec edx
add dword [eax], eax
pop edi
push esi
or esi, 0x9d90
xor esi, 0xcd02
and esi, 0x1ce7
jmp 0x50fcc5
pop esi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x50fcf9
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x50fd03
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x50fd1a
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x50fd2b
jmp 0x50fb04
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ecx
add ecx, 0x18258
or ecx, 0x8b01
pop ecx
push eax
push esi
add esp, 4
or eax, 0x4e2c
add eax, 0x29a8
pop eax
push ecx
push eax
add esp, 4
and ecx, 0x1101e
xor ecx, 0x11b60
pop ecx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ecx
push ecx
add esp, 4
sub ecx, 0x17e60
xor ecx, 0xe479
add ecx, 0x3c27
or ecx, 0xb5f9
pop ecx
push edx
sub edx, 0x62f
add edx, 0x15a92
and edx, 0x1195
pop edx
cmp dword [ebp - 0x3cc], 0
je 0x50fdbc
cmp dword [ebp - 0xa5c], 0
jne 0x50fe02
push eax
push edi
add esp, 4
sub eax, 0x14763
or eax, 0x16395
pop eax
push edx
and edx, 0x111e3
or edx, 0xf3de
pop edx
push ebx
push esi
add esp, 4
xor ebx, 0x1252
add ebx, 0xfdc4
pop ebx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edi
push esi
add esp, 4
or edi, 0xd207
and edi, 0x10560
xor edi, 0x182c7
xor edi, 0xbfcd
pop edi
push edx
add edx, 0x17cae
xor edx, 0x8ac2
sub edx, 0x14b85
pop edx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push ebx
or ebx, 0xb7c4
and ebx, 0x111
pop ebx
push eax
or eax, 0x8a77
pop eax
push edi
add edi, 0x13235
pop edi
push eax