Function at 0x46f1ba
Capabilities:
Resolve function by parsing pe exports

Disassembly:
call 0x46dce9
add byte [edi + 0x4d], cl
cmp byte [ecx + 0x37], al
cmp cl, byte [ecx - 0x7d]
les eax, [ecx + eax*4]
out 0xdb, al
mov edx, 0x525e0000
add edx, 0x2e15
xor edx, 0xf342
pop edx
push esi
push edi
add esp, 4
sub esi, 0x1c97
pop esi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push esi
push edx
add esp, 4
add esi, 0xd170
pop esi
push edx
push esi
add esp, 4
jmp 0x46dd34
or edx, 0x14541
pop edx
push ecx
sub ecx, 0x1174e
jmp 0x46dd48
jmp 0x46dd4d
pop ecx
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x46dd7e
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x46e06f
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x46dda6
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x46e06f
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 0x46ddd8
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x46e06f
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x46ddfd
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x46e06f
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 0x46de57
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 0x46e063
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 0x46dec7
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 0x46df79
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x46df79
push eax
push esi
add esp, 4
and eax, 0x17903
or eax, 0x46a8
pop eax
push eax
push ebx
add esp, 4
xor eax, 0x70a2
sub eax, 0x9bb
pop eax
push esi
jmp 0x46df1f
xor esi, 0x13643
pop esi
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 0x46df6b
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 0x46df72
jmp 0x46deb8
jmp 0x46df79
push ecx
push ebx
add esp, 4
jmp 0x46df87
jmp 0x46df8c
pop ecx
push edi
push edi
add esp, 4
xor edi, 0xd16
sub edi, 0x11fe2
or edi, 0xb36d
jmp 0x46dfaa
pop edi
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 0x46dfd8
mov dword [ebp - 0xc40], 0
jmp 0x46e047
push ebx
and ebx, 0x14d99
or ebx, 0x10751
sub ebx, 0x14b7e
pop ebx
push ebx
push ebx
add esp, 4
jmp 0x46dff7
add ebx, 0x592b
sub ebx, 0xd9b0
sub ebx, 0xcd0c
pop ebx
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
cmp ecx, eax
jge 0x46e03d
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x46e047
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x46e05e
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x46e06f
jmp 0x46de48
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push eax
xor eax, 0x3e75
add eax, 0xeeb5
sub eax, 0xd28e
pop eax
push eax
push ecx
add esp, 4
and eax, 0xc625
sub eax, 0x16f70
or eax, 0x104f2
and eax, 0xc37c
pop eax
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push esi
push edi
add esp, 4
sub esi, 0x13f63
and esi, 0xfe33
add esi, 0x14678
pop esi
push ebx
push edx
add esp, 4
sub ebx, 0x16ceb
jmp 0x46e0e7
xor ebx, 0x164e7
pop ebx
cmp dword [ebp - 0x3cc], 0
je 0x46e100
cmp dword [ebp - 0xa5c], 0
jne 0x46e146
push ecx
push edx
add esp, 4
call 0x46e111
add byte [ebx + eax*2], bh
cmp cl, byte [eax + 0x4c]
cmp dword [ebx - 0x1e7efb3c], eax
sti
add eax, 0x9e80001
add byte [eax], al
add byte [eax], al
dec ebp
xor eax, 0x35434f3f
dec ebx
cmp eax, 0x8104c483
loope 0x46e1a1
pop ecx
add byte [eax], al
pop ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ebx
and ebx, 0xba5a
xor ebx, 0x1cd8
xor ebx, 0x13695
add ebx, 0x9cc5
pop ebx
push eax
push esi
add esp, 4
add eax, 0x4036
xor eax, 0x11f80
or eax, 0xb0a1
pop eax
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
jmp 0x46e1b5
invalid
pop esi
push esi
push edi
add esp, 4
jmp 0x46e1c4
pop esi
push ecx
push edi
add esp, 4
xor ecx, 0x158d2
jmp 0x46e1d8
or ecx, 0x1ee1
pop ecx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push edi
xor edi, 0xd44f
call 0x46e25b
add byte [edx + edi], dh
dec eax
dec esi
dec ebp
aaa
add esp, 4
pop edi
push ebx
or ebx, 0xcc8f
xor ebx, 0x2626
jmp 0x46e273
and ebx, 0xc4da
pop ebx
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 edi
add esp, 4
and ecx, 0x145e4
xor ecx, 0x17627
pop ecx
push edx
push edx
add esp, 4
and edx, 0x436b
sub edx, 0x1ecd
pop edx
push ebx
or ebx, 0x1796b
or ebx, 0x16a84
pop ebx
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 esi
push esi
add esp, 4
call 0x46e310
add byte [ebx + edi], dh
dec edi
inc edx
xor ecx, dword [eax + 0x4a]
dec ebx
add esp, 4
pop esi
push esi
push esi
add esp, 4
call 0x46e325
add byte [ebp + 0x33], cl
xor bh, byte [esi]
cmp dword [esi], edi
add esp, 4
add esi, 0x6182
pop esi
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 edx
or edx, 0x14d6
or edx, 0x413b
add edx, 0xc45b
add edx, 0x172c2
pop edx
push esi
push edx
add esp, 4
xor esi, 0x8303
sub esi, 0xccbf
sub esi, 0x113dc
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 edi
push ebx
add esp, 4
or edi, 0x16fd8
pop edi
push esi
and esi, 0xc245
xor esi, 0xd516
add esi, 0xf31f
call 0x46e3dd
add byte [edi], bh
dec eax
inc ebp
inc eax
xor eax, 0x834b3443
les eax, [esi + ebx*2]
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 edi
or edi, 0x944
pop edi
push edx
jmp 0x46e449
jmp 0x46e451
add edx, 0xb039
pop edx
push eax
push edi
add esp, 4
add eax, 0x3468
add eax, 0x16e17
pop eax
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 edi
xor edi, 0x159c0
jmp 0x46e4f7
jmp 0x46e4fe
pop edi
push eax
push eax
add esp, 4
xor eax, 0xd291
jmp 0x46e50f
xor eax, 0x32ee
or eax, 0x363
pop eax
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x46e592
push esi
xor esi, 0x14881
jmp 0x46e53a
pop esi
push esi
push esi
add esp, 4
jmp 0x46e547
xor esi, 0x13c2b
or esi, 0xa8e0
pop esi
push edx
add edx, 0x18352
pop edx
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 ebx
jmp 0x46e59a
or ebx, 0x72cb
call 0x46e5ad
add byte [ebp + 0x47], cl
dec eax
cmp byte [ecx + eax*2 - 0x7d], cl
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [0x454e3e3b], dh
cmp eax, 0x83484f4e
les eax, [ebx + ebx*2]
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 esi
push eax
add esp, 4
and esi, 0x63e
call 0x46e684
add byte [esi], bh
inc edi
dec esi
inc ebx
cmp dword [esi], edi
aaa
aaa
add esp, 4
pop esi
push eax
jmp 0x46e68f
xor eax, 0x935c
or eax, 0x59f3
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 edx
push ecx
add esp, 4
add edx, 0x17892
pop edx
push edx
and edx, 0x742e
add edx, 0xda18
and edx, 0x10309
and edx, 0x13731
pop edx
push edi
push esi
add esp, 4
add edi, 0xaa04
pop edi
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 edx
or edx, 0xbf85
or edx, 0xe638
and edx, 0x6470
xor edx, 0xec10
pop edx
push edx
push esi
add esp, 4
jmp 0x46e7a0
and edx, 0x8b72
sub edx, 0x7e0e
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 ebx
call 0x46e7df
add byte [ebp + 0x4e], cl
cmp byte [0x834d3d43], bh
les eax, [ecx + eax*4]
retf
push esi
push ebx
add esp, 4
xor esi, 0x18604
add esi, 0x3c90
sub esi, 0x548d
jmp 0x46ea2f
pop esi
push edx
push edi
add esp, 4
and edx, 0xf2f2
sub edx, 0x9471
pop edx
cmp dword [ebp - 0x710], 0
jne 0x46ea8c
push eax
push edi
add esp, 4
xor eax, 0x1186f
call 0x46ea63
add byte [edx], dh
dec esi
cmp byte [ebp + 0x38], al
xor bh, byte [ecx]
add esp, 4
xor eax, 0x6cf2
call 0x46ea79
add byte [edi], dh
dec edx
dec edi
inc eax
cmp dword [eax + 0x35], eax
add esp, 4
pop eax
mov dword [ebp - 0xa58], 0
jmp 0x46f5b4
push ebx
sub ebx, 0x13fc7
sub ebx, 0x8791
jmp 0x46eaa0
pop ebx
push edx
call 0x46eab2
add byte [edi + 0x34], cl
inc eax
inc edx
dec edx
dec edi
inc ebp
cmp byte [edi], bh
dec edx
add esp, 4
pop edx
push eax
add eax, 0x9a53
pop eax
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 esi
add esi, 0xbc04
or esi, 0x4b9c
pop esi
push ecx
push edi
add esp, 4
xor ecx, 0x8d24
and ecx, 0x14f33
call 0x46eca1
add byte [esi], dh
dec edi
cmp eax, 0x33423250
inc esi
dec ebx
add esp, 4
pop ecx
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 ecx
jmp 0x46ed01
pop ecx
push eax
and eax, 0x4b37
xor eax, 0xba9b
xor eax, 0x1fcb
sub eax, 0x118b
pop eax
push esi
xor esi, 0x13e6a
and esi, 0x3da9
pop esi
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 ebx
push ecx
add esp, 4
jmp 0x46ed62
sub ebx, 0x8e12
and ebx, 0x910a
jmp 0x46ed74
pop ebx
push edi
add edi, 0x1416b
pop edi
push ebx
push eax
add esp, 4
sub ebx, 0x18384
pop ebx
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 esi
push ecx
add esp, 4
sub esi, 0x100f1
or esi, 0x69d2
xor esi, 0xc47d
pop esi
push esi
or esi, 0x9333
or esi, 0x5a31
and esi, 0xa551
add esi, 0xae57
pop esi
mov ecx, dword [ebp - 0x3c8]
mov dword [ebp - 0x18f0], ecx
push eax
and eax, 0xa4a
call 0x46ee50
add byte [esi], dh
aaa
xor eax, 0x4a48403f
inc esp
add esp, 4
add eax, 0xa509
call 0x46ee67
add byte [ecx], bh
inc edx
cmp eax, 0x43394843
push eax
add esp, 4
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 0x46eec9
push ecx
push ebx
add esp, 4
or ecx, 0x13204
or ecx, 0x1321e
jmp 0x46eea1
pop ecx
push eax
jmp 0x46eeab
pop eax
push ebx
add ebx, 0x13314
add ebx, 0xb66a
pop ebx
mov dword [ebp - 0xa58], 0
jmp 0x46f5b4
push edi
push edx
add esp, 4
or edi, 0x1f7c
xor edi, 0x96dd
add edi, 0x6055
pop edi
push edi
sub edi, 0x9319
or edi, 0x1973
pop edi
push eax
push eax
add esp, 4
sub eax, 0xca1a
pop eax
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
sub edx, 0x4b15
call 0x46ef39
add byte [ebp + 0x32], cl
inc esi
cmp byte [ebp + 0x45], al
cmp byte [ecx], bh
inc ebx
add esp, 4
pop edx
push edi
push ecx
add esp, 4
or edi, 0x134b3
sub edi, 0x127a4
or edi, 0x2c42
pop edi
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 ebx
push esi
add esp, 4
sub ebx, 0x17a20
sub ebx, 0x5a60
pop ebx
push ecx
push edx
add esp, 4
call 0x46efa5
add byte [edi], bh
xor al, 0x3e
inc edx
inc eax
aas
inc esi
inc edi
add esp, 4
pop ecx
push edx
and edx, 0x8a6e
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 ebx
push esi
add esp, 4
xor ebx, 0x353e
pop ebx
push edx
jmp 0x46efea
jmp 0x46efef
xor edx, 0xe132
xor edx, 0x1caf
pop edx
push edi
jmp 0x46f006
pop edi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edx
or edx, 0x99c7
pop edx
push ebx
push edx
add esp, 4
xor ebx, 0xc299
sub ebx, 0x180ea
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0x14ed2
xor ecx, 0x13307
add ecx, 0x1811a
pop ecx
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
jmp 0x46f0c5
pop ecx
push esi
sub esi, 0xa25a
pop esi
push esi
push edx
add esp, 4
or esi, 0x123e0
or esi, 0xc14d
pop esi
push esi
push eax
add esp, 4
add esi, 0x23e8
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 ebx
add ebx, 0x5ab0
pop ebx
push ecx
or ecx, 0x2f4a
jmp 0x46f184
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0xad10
jmp 0x46f197
and ebx, 0x11259
pop ebx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x46f214
push edx
call 0x46f1ba
add byte [ebx + 0x32], cl
cmp dword [eax], edi
cmp eax, 0xc4833a4b
add al, 0x5a
push edi
push edi
add esp, 4
xor edi, 0x83b
xor edi, 0x175f6
jmp 0x46f1d7
sub edi, 0x846d
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, 0x15179
sub esi, 0x726f
sub esi, 0x10740
sub esi, 0x44c1
pop esi
push edi
push ebx
add esp, 4
and edi, 0xbb21
add edi, 0x4d95
add edi, 0x726
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push esi
push esi
add esp, 4
jmp 0x46f260
jmp 0x46f268
sub esi, 0x2a01
pop esi
push ebx
call 0x46f27d
add byte [ebp + eax*2 + 0x4e], al
aaa
dec edi
dec esi
add esp, 4
add ebx, 0x16be1
pop ebx
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 eax
push esi
add esp, 4
xor eax, 0xb0c3
pop eax
push eax
push esi
add esp, 4
or eax, 0x97cb
xor eax, 0xa8bd
pop eax
push edi
push eax
add esp, 4
add edi, 0x15163
pop edi
push eax
or eax, 0x1551e
pop eax
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 esi
push esi
add esp, 4
or esi, 0x7bc6
pop esi
push edx
jmp 0x46f4c4
call 0x46f4d4
add byte [edx + 0x37], cl
dec ebx
cmp eax, 0x323f3636
xor al, 0x4c
add esp, 4
add edx, 0x9826
sub edx, 0xd398
pop edx
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 ebx
push eax
add esp, 4
or ebx, 0x14aae
and ebx, 0x88ae
pop ebx
push edi
push esi
add esp, 4
and edi, 0x67b6
jmp 0x46f536
and edi, 0x22da
and edi, 0xc92a
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 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 eax
or eax, 0x12243
sub eax, 0x94ae
pop eax
push eax
push eax
add esp, 4
call 0x46f5d6
add byte [ebp + 0x4b], cl
dec edi
dec ebp
inc esp
dec ebx
inc ebp
dec esi
inc edx
add esp, 4
xor eax, 0x91a2
xor eax, 0x15953
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 ecx
call 0x46f620
add byte [edi], dh
aas
xor esi, dword [edi + 0x4c4833f]
call 0x46f631
add byte [edi], dh
dec edx
dec eax
dec esp
cmp cl, byte [ebx + 0x47]
add esp, 4
call 0x46f641
add byte [eax + 0x49], al
cmp bh, byte [0x83373a3a]
les eax, [ecx + ebx*2]
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
xor ecx, 0x1ad7
sub ecx, 0x15134
or ecx, 0x12e60
or ecx, 0x2cb4
pop ecx
push esi
or esi, 0xa0b8
pop esi
push ebx
or ebx, 0x1bb7
pop ebx
push eax
sub eax, 0x11584
pop eax
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 esi
xor esi, 0x16f53
xor esi, 0x3743
sub esi, 0x65ff
pop esi
push esi
call 0x46f729
add byte [edx + 0x33], al
dec ecx
dec ecx
cmp edi, dword [esi]
cmp byte [ecx + 0x45], al
cmp al, byte [ebx + 0x7eb04c4]
xor esi, dword [esi]
xor al, 0x48
inc edx
dec edi
inc esi
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edx
or edx, 0x10bfe
or edx, 0x1149
pop edx
push ebx
push ebx
add esp, 4
or ebx, 0x11d1c
and ebx, 0x46cb
pop ebx
push ebx
push eax
add esp, 4
add ebx, 0xb8d7
and ebx, 0xe2a1
pop ebx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff04ff
pop ecx
pop edx
push esp
xchg eax, ecx
or byte [ebp + 0x4cfe7fa], al
add al, 0x85
retf 0x2060