Function at 0x5e7122ef
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
mov eax, eax
push ecx
push ecx
push ebx
push edi
cmp word [0x610de2de], 0x846
je 0x5e70ad1b
loopne 0x5e70ad34
mov dl, 0xd9
sub ah, byte [esi]
wait
test al, 0x57
add cl, byte [esi]
cwde
retf 0x395e
mov edi, dword [ebp + 8]
xor ebx, ebx
push ecx
mov ecx, dword [edi + 0x18]
sub ecx, ebx
pop ecx
jne 0x5e70ad47
mov ecx, ecx
push 0x20000
call fcn.5e6d6875
mov dword [edi + 0x18], eax
pop ecx
test eax, eax
jne 0x5e70ad47
dec dword [ecx - 0x7aa6e7b9]
sal byte [ebp + 0xa], 0xb8
push cs
add byte [edi], al
sub cl, 0xfa
add dword [eax], eax
add byte [ebx + 0x778d56c0], cl
and byte [ecx + 0x45e891e], cl
mov eax, 0x8007000e
jmp 0x5e70af41
mov eax, eax
push esi
lea esi, [edi + 0x20]
mov dword [esi], ebx
mov dword [esi + 4], ebx
mov eax, eax
mov ebx, dword [ebp + 0x18]
mov ecx, 0x20000
mov dword [ebp + 8], ecx
test ebx, ebx
je 0x5e70adc4
test word [0x61092cfc], 0x6a9
jae 0x5e70ad9f
lodsd eax, dword [esi]
xor dh, byte [ebx - 0x6c918d40]
enter 0xffffffffffffb122, 0x38
invalid
mov edx, dword [ebx]
sub edx, dword [esi]
mov eax, dword [ebx + 4]
sbb eax, dword [esi + 4]
push edx
mov edx, eax
and edx, eax
pop edx
ja 0x5e70adc4
rcr byte [edx + 0x77], 1
adc esi, dword [edx + 4]
jb 0x5e70adb7
cmp edx, ecx
jae 0x5e70adc4
mov ecx, dword [ebx]
sub ecx, dword [esi]
mov dword [ebp + 8], ecx
je 0x5e70af29
mov edx, dword [ebp + 0xc]
lea ebx, [ebp + 8]
push ebx
push ecx
push dword [edi + 0x18]
mov eax, dword [edx]
mov ecx, ecx
push edx
mov ecx, ecx
call dword [eax + 0xc]
mov edx, dword [ebp + 8]
mov ebx, eax
test edx, edx
je 0x5e70af3d
test dword [0x61001ddb], 0x9abfa56d
jno 0x5e70ae21
scasb al, byte es:[edi]
adc al, 0x67
in eax, dx
mov esp, 0x2f9a382
test dword [ebx], edi
xor byte [edi], dh
jp 0x5e70ae0a
test ch, ah
mov cs, edi
iretd
xor ebp, dword [ecx]
add ebp, dword [esi + edx - 0xe]
out 0xb6, eax
insb byte es:[edi], dx
push ss
out 0xb6, eax
push ebx
rol dword [ebx], cl
xchg ecx, eax
iretd
inc edi
popal
fstp qword [edi - 0x7e4df852]
loop 0x5e70adad
mov ecx, dword [ebp + 0x10]
push edx
mov edx, ecx
and edx, ecx
pop edx
je 0x5e70aec0
dec ebp
adc byte [edx - 0x75], dl
shl dword [ebx], 1
rcr dword [edx + 0xf], 1
test byte [eax + 0x33000000], dl
ror byte [ecx - 0x6f6f03bb], 0x90
xor eax, eax
mov dword [ebp - 4], eax
nop
nop
nop
mov ecx, dword [ecx]
cmp byte [0x6100846d], 0xb9
jne 0x5e70ae63
arpl ax, dx
push ebp
mov al, byte [0x788c5e88]
jns 0x5e70ae80
popal
jno 0x5e70ae18
aaa
pop edi
movsd dword es:[edi], dword [esi]
cwde
jnp 0x5e70ae0d
push ebx
add ebp, dword [edi + 0x34]
jo 0x5e70aed0
adc dword [ebx - 0x3294813a], esi
sub edx, eax
lea eax, [ebp - 8]
mov dword [ebp - 8], edx
push eax
mov eax, dword [edi + 0x18]
add eax, dword [ebp - 4]
push edx
push eax
push dword [ebp + 0x10]
mov ecx, ecx
call dword [ecx + 0xc]
mov edx, dword [ebp - 8]
nop
nop
mov ecx, eax
mov eax, eax
mov eax, dword [ebp - 4]
nop
add eax, edx
add dword [esi], edx
mov dword [ebp - 4], eax
adc dword [esi + 4], 0
push edx
mov edx, ecx
and edx, ecx
pop edx
jne 0x5e70af39
push ebx
mov ebx, edx
and ebx, edx
pop ebx
je 0x5e70af2f
mov eax, eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
cmp eax, edx
jb 0x5e70ae35
mov ecx, ecx
jmp 0x5e70aec6
add dword [esi], edx
adc dword [esi + 4], 0
push eax
mov eax, ebx
and eax, ebx
pop eax
jne 0x5e70af3d
cmp word [0x60fe5027], 0x86da
je 0x5e71d2ad
cmp eax, 0x60fe5027
fiadd dword [esi + 0x23d0840f]
add dword [eax], eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x5e70ad52
mov eax, dword [ecx]
push esi
push esi
test word [0x61012b74], 0xefd7
popal
xlatb
out dx, eax
jns 0x5e70af19
in al, dx
or esp, dword [edx]
scasd eax, dword es:[edi]
dec edx
or byte [ebp + 0x2e], ah
cmp ecx, edx
nop
not byte [edi + 0x471d077d]
lea edx, [bp + di + 0x5c]
outsd dx, dword [esi]
jae 0x5e70aef2
sbb byte [ecx + 0x28d3d9ea], ah
popal
push edx
inc edi
sub dword [ecx - 1], edx
push eax
or al, 0x85
ror byte [edi], 0x84
sub eax, 0x8bfffffe
leave
push ecx
call dword [eax + 0xc]
test eax, eax
je 0x5e70ad52
mov ecx, ecx
jmp 0x5e70af3f
xor eax, eax
nop
nop
jmp 0x5e70af3f
nop
nop
nop
mov eax, 0x80004005
jmp 0x5e70af3f
mov eax, ecx
jmp 0x5e70af3f
mov eax, ebx
nop
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push ebp
nop
nop
mov ebp, esp
nop
nop
push ebx
mov ecx, ecx
mov ebx, dword [ebp + 0x10]
push edi
mov ecx, ecx
xor edi, edi
test ebx, ebx
jne 0x5e71231e
call fcn.5e70dd4f
nop
nop
mov dword [eax], 0x16
call fcn.5e715dd9
xor eax, eax
jmp 0x5e7123d9
nop
nop
push esi
mov eax, eax
push 0x3bc
nop
nop
push 1
cmp byte [0x61062c2b], 0x6c
js 0x5e6b8ce1
call fcn.5e714c3e
mov esi, eax
cmp word [0x6102eef0], 0x79ba
jne 0x5e72aad2
pop ecx
mov eax, eax
pop ecx
test esi, esi
je 0x5e7123b9
call fcn.5e71aa1e
push dword [eax + 0x6c]
mov ecx, ecx
push esi
nop
nop
call fcn.5e71ab26
mov eax, dword [ebp + 0x14]
cmp word [0x60fdbdba], 0xcc8e
je 0x5e70acd5
or dword [esi + 4], 0xffffffff
mov dword [esi + 0x58], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x54], ebx
mov eax, eax
pop ecx
pop ecx
test eax, eax
jne 0x5e712393
lea eax, [ebp + 0x10]
push eax
push dword [ebp + 0x18]
push esi
push 0x5e7125bc
nop
push dword [ebp + 0xc]
nop
push dword [ebp + 8]
mov ecx, ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x5e7123d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, ecx
push esi
nop
call fcn.5e70d776
pop ecx
push ecx
mov ecx, edi
and ecx, edi
pop ecx
je 0x5e7123d4
mov ecx, ecx
push edi
call fcn.5e70dd29
pop ecx
mov eax, eax
xor eax, eax
pop esi
mov eax, eax
pop edi
pop ebx
nop
nop
nop
pop ebp
mov ecx, ecx
ret
nop
call fcn.5e71d2ba
mov ecx, ecx
add esp, 0x10
pop ebp
ret
lea ecx, [ebp - 0x58]
nop
nop
jmp fcn.5e70436b