Function at 0x5ca153
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x5ca170
cmp dword [ebx + 0x2c], 0
jne 0x5ca175
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x5ca17d
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 0x40
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebx + 0x2e4], 0
mov dword [ebx + 0x2e8], 0
mov dword [ebp - 0x10], 0x40
call fcn.005c6933
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x5ca1d3
push 0x660558
call fcn.005c9013
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
push edi
push ebx
mov dword [ebp - 4], esi
call eax
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x2f0]
push ebx
call eax
mov edi, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x1c], eax
cmp esi, edi
jbe 0x5ca311
cmp eax, 0x3c
je 0x5ca20b
cmp eax, 0xffffffff
jne 0x5ca31a
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x5ca21b
cmp edi, 0xffffffff
jne 0x5ca229
push dword [ebp + 8]
call fcn.005c8393
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.005c7743
add esp, 4
test eax, eax
je 0x5ca300
mov eax, edi
sub eax, 1
je 0x5ca2ae
sub eax, 1
je 0x5ca292
sub eax, 1
jne 0x5ca300
cmp dword [ebx + 0x44], esi
je 0x5ca900
mov edi, dword [ebp - 8]
mov dword [edi + 0x18], 3
push dword [ebp + 8]
mov eax, dword [ebx + 0x44]
push edi
push ebx
call eax
add esp, 0xc
test eax, eax
jne 0x5ca300
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.005c9013
add esp, 0xc
jmp 0x5caa3f
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.005cba33
add esp, 0xc
test eax, eax
jmp 0x5ca2fa
cmp dword [ebx + 0x2e8], esi
je 0x5ca2e5
push dword [ebp + 8]
call fcn.005c79c3
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x5ca2e8
cmp dword [edi + 0x18], esi
jne 0x5ca2e8
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.005c9ea3
add esp, 8
test eax, eax
jmp 0x5ca2fa
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.005c9e43
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5ca912
mov eax, dword [ebp - 0xc]
test eax, eax
mov edi, dword [ebp + 8]
cmove eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffff
je 0x5caa11
cmp eax, 0x3c
jne 0x5ca8c1
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x5ca44c
nop word [eax + eax]
push esi
call fcn.005c8963
add esp, 4
test eax, eax
jne 0x5ca44c
cmp esi, 0x3e
je 0x5ca44c
cmp esi, 0x2f
jne 0x5ca36d
cmp edi, dword [ebp + 8]
ja 0x5ca44c
jmp 0x5ca3cd
cmp esi, 0x3c
je 0x5ca92a
cmp esi, 0x26
jne 0x5ca3b5
push dword [ebp - 8]
push ebx
call fcn.005caf03
add esp, 8
cmp eax, 0xffffffff
je 0x5caa3f
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.005ca033
add esp, 0x10
test eax, eax
je 0x5caa3f
mov edi, dword [ebp - 4]
jmp 0x5ca435
cmp esi, 0x30
jge 0x5ca3cd
cmp esi, 0x21
je 0x5ca3cd
cmp esi, 0x2d
je 0x5ca3cd
cmp esi, 0x2e
jne 0x5caa3f
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.005ca033
add esp, 0x10
test eax, eax
je 0x5caa3f
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x5ca3fe
cmp byte [ecx], 0x3f
je 0x5ca44c
cmp eax, 3
jne 0x5ca419
push eax
push 0x660610
push ecx
call 0x7c6ea3
add esp, 0xc
test eax, eax
je 0x5ca44c
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
cmp eax, 8
jne 0x5ca435
push eax
push 0x6602cc
push ecx
call 0x7c6ea3
add esp, 0xc
test eax, eax
je 0x5ca44c
mov eax, dword [ebx + 0x2f0]
push ebx
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
jne 0x5ca343
mov byte [edi], 0
mov ecx, 0x480b5856
cmp al, 0x78
xchg ebx, eax
cmp al, 0x34
insd dword es:[edi], dx
cmp dword [ebp + 0x49], ebp
enter 0xffffffffffffd96b, 0xffffffffffffff9b
fmul dword [ecx]
invalid
ljmp 0xdeab:0xda2ff5b6
movsd dword es:[edi], dword [esi]
sar bl, 1
xchg ebx, eax
imul edx, dword [esi + 0x132564e], 0xffffff95
cmp dh, 0xce
out dx, eax
pop es
in eax, dx
inc esp
xchg ebp, eax
js 0x5ca837
lahf
mov esi, 0x5e387a29
xchg esp, eax
cmp eax, ebx
sbb dword [ecx], ebx
scasd eax, dword es:[edi]
jbe 0x5ca8e7
cmpsd dword fs:[esi], dword es:[edi]
cli
imul esi, esp, 0x76
cld
je 0x5ca8ef
xor dl, byte cs:[edi]
imul edi, dword [eax - 0x728ec24b], 0x6fd7988c
cmp eax, 0x988c8d71
xlatb
outsd dx, dword [esi]
mov esp, 0x4c45dd9c
sub eax, 0xda3b4d41
mov cs, word [ecx + 0x36]
jns 0x5ca88d
mov esp, 0x102f115a
inc ebp
push 0xdbf65aab
pop edx
neg bl
inc ebp
ret
fdiv dword [ebx - 0x22e34278]
pushal
outsb dx, byte [esi]
sub al, 0x98
enter 0xffffffffffffc906, 0x48
pushal
jmp 0x5ca8df
xor al, bh
cmp ebp, ecx
stosd dword es:[edi], eax
int3
jbe 0x5ca95d
test al, 0xa6
xor ecx, edi
xchg byte [eax + 0x47], dh
adc al, 0xb
mov eax, dword [0xbfbd3f7b]
nop
int 0x24
cld
xchg byte [ecx + 0x21], al
inc eax
retf
out 0x48, eax
jmp 0xab58b514
xor dword [edi], ebp
xor byte [eax + ebp*8 - 0x66a2391], al
mov dword [ebx + 0x1f], edi
mov edx, 0xa98f49da
loopne 0x5ca92e
dec ebp
stosb byte es:[edi], al
cmp dword [edx], ebx
lcall 0xf29e, 0x5a47dc78
cwde
xchg edx, eax
sub eax, 0xb15d5012
rcr edx, 1
and al, 0xad
pop eax
imul edi, dword [ebx], 0xffffffbf
mov dl, 0xb3
or al, 0x60
and ebp, edx
or dh, byte [ebx - 0x563972f1]
jge 0x5ca9b5
scasd eax, dword es:[edi]
imul edx, dword [0x7e8af275], 0xffffff91
rol byte [ebx - 0x5e3fcf4e], cl
test eax, 0x916e39da
dec ecx
or byte [ebx], 0x30
sbb al, 0x4c
out 0xf7, eax
sub ebp, dword [0xc30d8b49]
dec eax
xor eax, 0x9e3e0102
sub al, 0xa5
dec ecx
mov ecx, dword [0x23548c3]
add dword [esi], edi
sahf
pop ebp
fiadd dword [eax]
mov eax, edi
pop eax
fdivp st(3)
sub dword [ecx], ecx
mov ch, 4
mov bh, 0xfe
call 0x4c8caf20
xor dh, byte [edi - 0x3d]
aas
fidiv word [eax + 0x4829d4d9]
lodsb al, byte [esi]
js 0x5ca97c
xchg edx, eax
xlatb
sub dword [ebx - 0x29805458], esi
mul dword [ebp - 0x65c2942f]
push ecx
xor edx, dword [eax + 0x6e]
mov ch, 0x69
retf
sahf
into
cmp cl, byte [ebx]
and byte [ebx - 0x33], ch
aam 0x6c
call 0x94c9e5c3
xchg esp, eax
and al, 0xca
popal
xchg dword [edi + eax*4 - 0x36975f5a], ebp
pop ecx
fcom st(2)
xchg ebp, eax
or dl, byte [esi + 0x39]
sub eax, ebp
jmp 0x5caa99
nop
or esp, ecx
adc al, byte [esi]
jmp 0x5caa1e
aam 0xc2
call 0xa131e6dc
xchg ebp, eax
into
push ebp
xor al, 0xab
fsubr dword [edx - 0x6a62325d]
mov al, byte [ebx + eax*2 + 0x57a3a4d8]
popfd
hlt