Function at 0x63d42a80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov esi, eax
mov edi, edx
sub esp, 0x3c
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x30], ecx
mov ecx, dword [esi + 8]
cmp dword [esi + 4], ecx
jae 0x63d43650
mov dl, byte [edi + 0x10]
cmp dl, 0x7d
ja case.0x63d42ab1.88
movzx ecx, dl
jmp dword [ecx*4 + 0x63d495bc]
or ebx, eax
jne 0x63d42ac8
mov edx, 0x28
mov eax, esi
call fcn.63d4159f
mov ecx, dword [ebp - 0x30]
mov dword [esp + 4], 1
mov eax, esi
mov dword [esp], 0
mov edx, dword [edi]
call int.63d42a80
mov edx, str._and
mov eax, esi
call fcn.63d415be
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x30]
mov eax, esi
mov dword [esp + 4], 1
mov dword [esp], 0
call int.63d42a80
test ebx, ebx
jne 0x63d43650
add esp, 0x3c
mov eax, esi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.63d4159f
test ebx, ebx
sete bl
test eax, eax
setne al
and bl, al
je 0x63d42b40
mov edx, 0x28
mov eax, esi
call fcn.63d4159f
mov ecx, dword [ebp - 0x30]
mov dword [esp + 4], 0
mov eax, esi
mov dword [esp], 0
mov edx, dword [edi]
call int.63d42a80
mov edx, str._or
mov eax, esi
call fcn.63d415be
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x30]
mov eax, esi
mov dword [esp + 4], 0
mov dword [esp], 0
call int.63d42a80
test bl, bl
je 0x63d43650
jmp 0x63d42b13
mov eax, esi
mov edx, 0x28
call fcn.63d4159f
mov ecx, dword [ebp - 0x30]
mov dword [esp + 4], 0
mov eax, esi
mov dword [esp], 1
mov edx, dword [edi]
call int.63d42a80
mov eax, esi
mov edx, 0x63d491a8
call fcn.63d415be
mov edx, dword [edi + 4]
mov ecx, dword [ebp - 0x30]
mov eax, esi
mov dword [esp + 4], 0
mov dword [esp], 1
call int.63d42a80
mov eax, esi
mov edx, 0x63d491ab
call fcn.63d415be
mov edx, dword [edi + 8]
mov ecx, dword [ebp - 0x30]
mov eax, esi
mov dword [esp + 4], 0
mov dword [esp], 1
call int.63d42a80
add esp, 0x3c
mov eax, esi
mov edx, 0x29
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.63d4159f
add esp, 0x3c
mov eax, esi
mov edx, str.true
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.63d415be
add esp, 0x3c
mov eax, esi
mov edx, str.false
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.63d415be
mov eax, dword [edi]
mov dword [ebp - 0x34], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
cmp byte [eax + 0x10], 0x56
ja case.0x63d42c59.1
movzx eax, byte [eax + 0x10]
jmp dword [eax*4 + 0x63d497b4]
mov eax, dword [ebp - 0x1c]
cmp dword [eax + 4], 0
jne case.0x63d42c59.1
cmp dword [eax + 8], 0
jne case.0x63d42c59.1
cmp dword [eax + 0xc], 0
jne case.0x63d42c59.1
mov eax, dword [eax]
cmp eax, 1
ja case.0x63d42c59.1
cmp dl, 0x72
je 0x63d42cab
cmp dl, 0x73
jne case.0x63d42c59.1
test eax, eax
mov edx, 0x63d49005
mov eax, 0x63d49198
cmovne edx, eax
jmp 0x63d42cba
test eax, eax
mov edx, 0x63d49005
mov eax, 0x63d49198
cmove edx, eax
mov eax, esi
xor ebx, ebx
call fcn.63d415be
xor eax, eax
mov edi, dword [ebp - 0x34]
jmp 0x63d42a96
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 1
jmp fcn.63d42d5a
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 1
jmp fcn.63d42d53
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 1
jmp fcn.63d42d4c
mov dword [ebp - 0x2c], 1
jmp 0x63d42d45
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov ebx, 1
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
jmp 0x63d42d5c
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
fld dword [ebx - 0x5b0cfc1f]
dec dword [ecx - 0x311707bb]
std
invalid
ret
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
add eax, esi
cmp dword [ebp - 8], eax
jae 0x63d4302f
mov dword [ebp - 8], eax
add ecx, 0x28
dec edx
jne 0x63d43020
mov byte [ebp - 0x58], bl
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], 0x58
stosb byte es:[edi], al
pop eax
stosb byte es:[edi], al
pop eax
mov byte [ebp - 0x55], bl
mov byte [ebp - 0x54], 0xe0
mov byte [ebp - 0x53], 0xc2
mov byte [ebp - 0x52], 0xd3
mov byte [ebp - 0x51], 0xf4
scasd eax, dword es:[edi]
hlt
mov byte [ebp - 0x50], 0xde
mov byte [ebp - 0x4f], 0xd4
mov byte [ebp - 0x4e], 0xd3
mov byte [ebp - 0x4d], 0xc2
mov byte [ebp - 0x4c], 0xca
inc ebp
mov ah, 0xca
scasd eax, dword es:[edi]
hlt
inc ebp
mov ah, 0xca
mov byte [ebp - 0x4b], 0xee
mov byte [ebp - 0x4a], 0xc9
mov byte [ebp - 0x49], 0xc1
mov byte [ebp - 0x48], 0xc8
mov byte [ebp - 0x47], 0xa7
call fcn.63d42ddb
pop esp
std
invalid
dec dword [ebp - 0x1d]
invalid
pop esp
std
invalid
ror byte [ebp - 0x17af57bb], cl
pop edi
std
invalid
pop es
std
invalid
mov ecx, dword [ebp - 0xac]
xor edx, edx
sal bh, cl
int1
sal bh, cl
int1
xor edx, edx
mov dword [ebp - 0x8c], eax
je 0x63d430b7
invalid
invalid
mov eax, dword [ebp - 8]
je 0x63d430b7
invalid
invalid
div ecx
test edx, edx
je 0x63d430c9
inc dword [ebp - 0x8c]
test dword [edi + edi*8 - 1], esi
dec dword [edi]
scasd eax, dword es:[edi]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
invalid
lea esi, [edi + edi*8 - 1]
dec dword [ecx + 0x5d880c4d]
or al, 0x88
pop ebp
or al, 0x88
pop ebp
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
ror byte [eax + 0x45c6c15d], 0xc2
in al, dx
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
inc ebp
lds edi, [edx - 0x3a]
inc ebp
invalid
popal
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
inc ebp
lds edi, [edx - 0x3a]
inc ebp
invalid
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
jl 0x63d430d3
inc ebp
iretd
jo 0x63d430d7
inc ebp
rcl byte [ebx]
call fcn.63d42ddb
invalid
jl 0x63d430d3
inc ebp
iretd
inc ebp
rcl byte [eax - 0x18], 0xc5
cld
invalid
les edx, [eax]
mov dword [ebp - 0x88], eax
call fcn.63d42ddb
lodsb al, byte [esi]
out dx, al
call 0x4c19bef1
call 0xb4bc8ed1
call 0xb4bc8ed1
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x16], 0x40
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], 0xe9
mov byte [ebp - 0x13], 0xd6
mov byte [ebp - 0x12], 0xcd
mov byte [ebp - 0x11], 0xcb
mov byte [ebp - 0x10], 0xca
mov byte [ebp - 0xf], 0xde
faddp st(6)
inc ebp
rol esi, cl
inc ebp
stc
faddp st(6)
inc ebp
rol esi, cl
inc ebp
stc
mov byte [ebp - 0xc], 0xcd
mov byte [ebp - 0xb], 0xda
mov byte [ebp - 0xa], 0xda
neg dl
neg dl
mov byte [ebp - 9], 0xbf
call fcn.63d42deb
push eax
push esi
push dword [ebp + 8]
call fcn.63d42da0
invalid
dec dword [ecx + 0x458df845]
xchg esp, eax
push eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], 0xbe
invalid
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x28
mov byte [ebp - 0x66], 0x33
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 0x34
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
mov byte [ebp - 0x60], 0x33
xor eax, esi
inc ebp
mov eax, dword [0xa245c62e]
xor eax, 0x24a345c6
xor eax, esi
inc ebp
mov eax, dword [0xa245c62e]
xor eax, 0x24a345c6
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
movsd dword es:[edi], dword [esi]
xor eax, 0x41a645c6
movsd dword es:[edi], dword [esi]
xor eax, 0x41a645c6
call fcn.63d42deb
push eax
push esi
push dword [ebp + 8]
call fcn.63d42da0
invalid
dec dword [ecx - 0xbb7b]
dec dword [ebp + 0x5d88d445]
aam 0x50
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
inc ebp
salc
aam 0x88
pop ebp
xlatb
invalid
inc ebp
salc
aam 0x88
pop ebp
xlatb
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
inc ebp
fisttp dword [edi - 0x3a]
inc ebp
fsub qword [edi - 0x3a]
inc ebp
fld qword [edx - 0x3a]
inc ebp
fimul word [ecx - 0x3a]
inc ebp
invalid
pop ecx
inc ebp
fisttp dword [edi - 0x3a]
inc ebp
fsub qword [edi - 0x3a]
inc ebp
fld qword [edx - 0x3a]
inc ebp
fimul word [ecx - 0x3a]
inc ebp
fistp word [ecx - 0x3a]
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
sub ebp, eax
stosb byte es:[edi], al
sti
invalid
call dword [eax + 0x56]
push dword [ebp + 8]
call fcn.63d42da0
add esp, 0x30
sub ebp, eax
stosb byte es:[edi], al
sti
invalid
mov dword [ebp - 0xb8], eax
call fcn.63d42ddb
sbb eax, 0x88a22fe1
popfd
jl 0x63d43260
invalid
invalid
invalid
inc esi
inc ebp
adc byte [ecx - 0x3a], 0x45
xor dword [ebx - 0x3a], 0xc6628245
inc ebp
sbb dword [ebx - 0x3a], 0x45
inc ebp
mov byte [ebp - 0x80], 0x51
mov byte [ebp - 0x7f], 0x73
mov byte [ebp - 0x7e], 0x62
mov byte [ebp - 0x7d], 0x5b
mov byte [ebp - 0x7c], 0x79
inc ebp
test byte [ecx - 0x3a], bh
inc ebp
test dword [edx - 0x3a], esi
inc ebp
xchg byte [ebx - 0x3a], ah
inc ebp
xchg dword [edx - 0x3a], edi
inc ebp
invalid
invalid
inc ebp
test byte [ecx - 0x3a], bh
inc ebp
test dword [edx - 0x3a], esi
inc ebp
xchg byte [ebx - 0x3a], ah
inc ebp
xchg dword [edx - 0x3a], edi
inc ebp
mov byte [ebx - 0x3a], dh
mov byte [ebp - 0x77], 0x5e
mov byte [ebp - 0x76], 0x77
mov byte [ebp - 0x75], 0x78
invalid
inc ebp
invalid
mov byte [ebp - 0x77], 0x5e
mov byte [ebp - 0x76], 0x77
mov byte [ebp - 0x75], 0x78
mov byte [ebp - 0x74], 0x72
mov byte [ebp - 0x73], 0x7a
jp 0x63d43275
inc ebp
invalid
jae 0x63d43279
inc ebp
invalid
push edi
mov byte [ebp - 0x70], 0x16
call fcn.63d42ddb
cld
jp 0x63d43275
inc ebp
invalid
aas
out dx, eax
add cl, byte [ebp - 0x837b]
call dword [eax - 0x18]
sbb al, 0xfb
invalid
or al, ch
invalid
adc byte [eax], al
add bh, bh
jne 0x63d432f8
push ebx
call dword [ebp - 0x88]
mov esi, eax
cmp esi, ebx
je 0x63d435d4
xlatb
add al, byte [eax]
invalid
test bh, dl
xlatb
add al, byte [eax]
add bh, bh
mov ch, 0x4c
push dword [ebp - 0xb4]
push dword [ebp + 0x10]
push esi
call fcn.63d42d4c
add esp, 0xc
cmp word [edi + 6], bx
les ecx, [esi]
cmp dword [edi + 6], ebx
mov dword [ebp + 0xc], ebx
jbe 0x63d4334b
movzx eax, word [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
lea eax, [eax + eax*4]
push dword [ecx + eax*8 + 0x10]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
add ecx, dword [ebp + 0x10]
add eax, esi
push ecx
push eax
call fcn.63d42d4c
add esp, 0xc
inc dword [ebp + 0xc]
mov ax, word [ebp + 0xc]
cmp ax, word [edi + 6]
jb 0x63d43318
call fcn.63d42ddb
jle 0x63d4330d
push edx
cmp cl, byte [ebx - 0x1fcc382]
dec byte [ecx - 0x8743]
dec dword [ebx + 0x8087]
add byte [ebx], bh
ret
je 0x63d435ca
add byte [eax], al
dec byte [ecx - 0x8743]
dec dword [ebx + 0x8087]
add byte [ebx], bh
ret
add byte [eax], al
add eax, esi
mov dword [ebp - 0x44], eax
cmp dword [eax + 4], ebx
jne 0x63d43380
cmp dword [eax + 0xc], ebx
je 0x63d43423
add byte [eax], al
add byte [eax], al
mov edi, dword [eax + 0xc]
add edi, esi
push edi
call dword [ebp - 0xc0]
mov dword [ebp + 0xc], eax
call fcn.63d42ddb
cli
invalid
invalid
sti
xchg edi, eax
out dx, al
cmp dword ds:[ebp + 0xc], ebx
jne 0x63d433af
cli
invalid
push edi
call dword [ebp - 0xb8]
cmp eax, ebx
mov dword [ebp + 0xc], eax
je 0x63d435ca
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax]
cmp eax, ebx
lea edi, [ecx + esi]
jne 0x63d433c3
mov dword [ebp + 0x10], edi
jmp 0x63d433c8
add eax, esi
mov dword [ebp + 0x10], eax
call fcn.63d42ddb
xchg ebx, eax
xlatb
in eax, 0x69
cli
invalid
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp eax, ebx
je 0x63d43411
test eax, 0x80000000
lea ecx, [eax + esi]
je 0x63d433ec
add byte [eax + 0x74300c8d], al
or byte [0xffff], ah
and eax, 0xffff
push eax
jmp case.0x63d42ab1.37
add ecx, 2
push ecx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.63d42da0
add esp, 0xc
cmp edi, ebx
mov dword [edi], eax
je 0x63d435ca
test dl, al
add dword [eax], eax
invalid
test dl, al
add dword [eax], eax
add byte [ebx + 0x458304c7], al
adc byte [ebx + ebp*8], al
rol byte [ebx - 0x74eb43bb], 0xbd
invalid
js 0x63d43418
add edi, 4
add dword [ebp + 0x10], 4
jmp 0x63d433d1
add dword [ebp - 0x44], 0x14
mov edi, dword [ebp - 0x88]
mov ebp, 0xffffff78
mov ebp, 0xffffff78
invalid
invalid
mov eax, dword [ebp - 0x44]
jmp 0x63d43372
call fcn.63d42ddb
lds ebp, [ebx + edi - 0x14]
insb byte es:[edi], dx
cmp ebp, esp
insb byte es:[edi], dx
cmp ebp, esp
mov eax, dword [edi + 0xa0]
cmp eax, ebx
je 0x63d4348f
add eax, esi
cmp dword [eax], ebx
je 0x63d4348f
mov edx, dword [eax + 4]
lea ecx, [eax + 8]
add edx, eax
mov dword [ebp + 8], ecx
cmp ecx, edx
jae 0x63d4348a
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx]
mov bh, 9
mov bh, 9
mov edx, ecx
and edx, 0xf000
cmp edx, 0x3000
jne 0x63d43474
and ecx, 0xfff
loope 0x63d43463
dec dword [edi]
add byte [eax], al
sldt word [eax]
mov edx, esi
sub edx, dword [edi + 0x34]
add ecx, esi
add ecx, dword [eax]
add dword [ecx], edx
jmp 0x63d4347c
cmp edx, ebx
jne 0x63d435ca
ror dword [edi], cl
test dword [esi + 1], ecx
add byte [eax], al
mov ecx, dword [eax + 4]
add dword [ebp + 8], 2
add ecx, eax
cmp dword [ebp + 8], ecx
jb 0x63d4344b
add eax, dword [eax + 4]
jmp 0x63d43438
mov dword [ebp + 0xc], ebx
jmp 0x63d4349a
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0xc]
cmp ax, word [edi + 6]
inc ebp
or al, 0x66
cmp eax, dword [edi + 6]
jne 0x63d434b2
mov edx, dword [ebp - 0xb4]
xor ecx, ecx
mov edi, 0x60000000
add byte [eax - 0x15], ah
push ds
add byte [eax - 0x15], ah
push ds
movzx eax, ax
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*8 + 0x104]
mov edx, dword [edi + eax*8 + 0x108]
invalid
or byte [ecx], al
add byte [eax], al
lea eax, [edi + eax*8 + 0xf8]
mov edi, dword [eax + 0x24]
invalid
lea eax, [edx + ecx - 1]
xor edx, edx
div dword [ebp - 0xac]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
div dword [ebp - 0xac]
invalid
invalid
cmp eax, dword [ebp - 0x44]
ja 0x63d4352e
invalid
mov edx, edi
mov dword [ebp + 8], edi
and dword [ebp + 8], 0x40000000
mov dword [ebp + 0x10], edi
and edx, 0x20000000
and dword [ebp + 0x10], 0x80000000
mov ecx, dword [ebp + 0x18]
cmp edx, ebx
je 0x63d43515
or byte [eax + ecx], 1
cmp dword [ebp + 8], ebx
je 0x63d4351e
or byte [eax + ecx], 2
cmp dword [ebp + 0x10], ebx
je 0x63d43528
adc byte [ebp + eax + 3], dh
enter 0x980, 4
add ecx, eax
or byte [ecx], 4
inc eax
cmp eax, dword [ebp - 0x44]
jbe 0x63d4350a
inc dword [ebp + 0xc]
mov eax, dword [ebp - 0x88]
js 0x63d43534
invalid
jmp dword [esi - 0x75]
dec ebp
or al, 0x66
cmp ecx, dword [eax + 6]
jbe 0x63d43494
js 0x63d43534
invalid
invalid
mov dword [ebp + 8], esi
jne 0x63d43550
xor edi, edi
mov eax, dword [ebp + 0x18]
push 2
pop ecx
movzx eax, byte [edi + eax]
sub eax, ecx
je 0x63d4357b
dec eax
je 0x63d43572
sub eax, 3
je 0x63d43569
mov dword [ebp - 4], 0x40
jmp 0x63d43598
mov dword [ebp - 4], 4
add al, 0
add byte [eax], al
jmp 0x63d4357e
mov dword [ebp - 4], 0x20
jmp 0x63d4357e
mov dword [ebp - 4], ecx
lea eax, [ebp - 4]
inc ebp
cld
push eax
push dword [ebp - 4]
push dword [ebp - 0xac]
push dword [ebp + 8]
call dword [ebp - 0xbc]
invalid
invalid
test eax, eax
je 0x63d435ca
invalid
mov eax, dword [ebp - 0xac]
add dword [ebp + 8], eax
inc edi
cmp edi, dword [ebp - 0x8c]
invalid
invalid
push dword [esi - 0x60]
invalid
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x28]
add edi, esi
call fcn.63d42ddb
invalid
dec dword [esi - 0xd0edf2]
jne 0x63d435d5
push 1
push esi
call edi
mov eax, esi
jmp 0x63d435d6
invalid
push 0x8000
push ebx
push esi
add byte [eax + 0x56530000], al
call dword [ebp - 8]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
sub esp, 0x7ec
push ebx
push esi
push edi
call fcn.63d42db9
ret
cld
invalid
movsd dword es:[edi], dword [esi]
scasd eax, dword es:[edi]
cld
invalid
cld
invalid
mov byte [ebp - 0x346], 0x6d
mov byte [ebp - 0x345], 0x40
test dword [ebx + 0x40fffffc], edi