Function at 0x57ee4e
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
outsd dx, dword [esi]
sahf
mov ch, 0x9c
jmp [esi]
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 0x57ee6b
cmp dword [ebx + 0x2c], 0
jne 0x57ee70
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x57ee78
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.0057b62e
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x57eece
push 0x660558
call fcn.0057dd0e
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 0x57f00c
cmp eax, 0x3c
je 0x57ef06
cmp eax, 0xffffffff
jne 0x57f015
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x57ef16
cmp edi, 0xffffffff
jne 0x57ef24
push dword [ebp + 8]
call fcn.0057d08e
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.0057c43e
add esp, 4
test eax, eax
je 0x57effb
mov eax, edi
sub eax, 1
je 0x57efa9
sub eax, 1
je 0x57ef8d
sub eax, 1
jne 0x57effb
cmp dword [ebx + 0x44], esi
je 0x57f5fb
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 0x57effb
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.0057dd0e
add esp, 0xc
jmp 0x57f73a
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.0058072e
add esp, 0xc
test eax, eax
jmp 0x57eff5
cmp dword [ebx + 0x2e8], esi
je 0x57efe0
push dword [ebp + 8]
call fcn.0057c6be
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x57efe3
cmp dword [edi + 0x18], esi
jne 0x57efe3
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.0057eb9e
add esp, 8
test eax, eax
jmp 0x57eff5
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.0057eb3e
mov esi, eax
add esp, 0xc
test esi, esi
je 0x57f60d
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 0x57f70c
cmp eax, 0x3c
jne 0x57f5bc
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x57f147
nop word [eax + eax]
push esi
call fcn.0057d65e
add esp, 4
test eax, eax
jne 0x57f147
cmp esi, 0x3e
je 0x57f147
cmp esi, 0x2f
jne 0x57f068
cmp edi, dword [ebp + 8]
ja 0x57f147
jmp 0x57f0c8
cmp esi, 0x3c
je 0x57f625
cmp esi, 0x26
jne 0x57f0b0
push dword [ebp - 8]
push ebx
call fcn.0057fbfe
add esp, 8
cmp eax, 0xffffffff
je 0x57f73a
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.0057ed2e
add esp, 0x10
test eax, eax
je 0x57f73a
mov edi, dword [ebp - 4]
jmp 0x57f130
cmp esi, 0x30
jge 0x57f0c8
cmp esi, 0x21
je 0x57f0c8
cmp esi, 0x2d
je 0x57f0c8
cmp esi, 0x2e
jne 0x57f73a
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.0057ed2e
add esp, 0x10
test eax, eax
je 0x57f73a
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x57f0f9
cmp byte [ecx], 0x3f
je 0x57f147
cmp eax, 3
jne 0x57f114
push eax
push 0x660610
push ecx
call 0x77bb9e
add esp, 0xc
test eax, eax
je 0x57f147
push es
add byte [ecx - 0x18], dl
xchg esp, eax
retf 0x1f
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
cmp eax, 8
jne 0x57f130
push eax
push 0xaedb41cc
mov eax, dword [edi - 0x15]
push eax
jnp 0x57f19c
div byte [ecx]
out dx, eax
daa
mov ebx, 0x18c27131
mov al, byte [0x5e7be149]
imul edx, dword [ecx - 0x69f6ee5], 0xffffffc9
mov eax, dword [0xbca03cb]
mov edi, 0xf3f3dc61
ret 0xa018
fdivr st(3), st(0)
add byte [edx - 0x462e6b8c], bl
add byte [edx - 0x462e6b8c], bl
add edx, esp
dec ecx
pop ebx
fild dword [ecx - 0x57]
xchg edi, eax
dec ebp
ja 0x57f148
cmp ebx, dword [ebx + 0x1892b11b]
stosd dword es:[edi], eax
inc eax
rcr ecx, 1
push ebx
popal
push edi
jb 0x57f173
je 0x57f101
mov ch, 0x99
xor dword [ecx - 0x1e15c5], 0x8cb51a42
out dx, eax
and ch, byte [ebp - 0x4536ebfa]
lahf
insb byte es:[edi], dx
stosd dword es:[edi], eax
aam 0xcc
in eax, 9
jno 0x57f127
sbb dh, byte [ebp - 0x52dd1074]
push es
adc al, 0xc9
mov edx, 0xd4ab6c9f
int3
mov dword [eax - 0x57], ecx
invalid
and al, 0x2f
sti
js 0x57f145
jbe 0x57f1a7
xchg ebp, eax
jne 0x57f164
pushal
lodsb al, byte [esi]
adc byte [ecx], cl
lcall 0x11b0, 0xba20f230
push eax
sub dh, byte [ecx + 0x4e29ad5e]
dec eax
or dword [ebp - 0x66], esp
xor dl, dh
and byte [edx + 0x2a5011b0], bh
mov cl, 0x5e
lodsd eax, dword [esi]
sub dword [esi + 0x48], ecx
pop esi
push edx
jno 0x57f1a9
movntps xmmword [0x144e40c6], xmm2
out dx, eax
add eax, 0x654088ca
lahf
rep movsd dword es:[edi], dword [esi]
jbe 0x57f1f9
add eax, 0x78c5a80e
in eax, 0xbe
sar dword [ebp + 0x78570d9f], cl
aas
inc eax
stc
ret 0x7080
xchg byte [ebp + 0x7987c91a], cl
push 0xffffffffffffffe2
nop
inc eax
fiadd dword [ebp + 0xb]
xor ebp, dword [esi - 0x357fa59a]
cmp al, 0x8b
and dl, ah
test al, 0x11
jmp 0x57f1a3
jmp 0xf583d808
mov edi, 0x1f3897b
push esi
fcmove st(0), st(3)
popal
mov byte [esi - 0x37], ah
push eax
or eax, 0x67196b85
inc edi
xchg ebp, eax
invalid
mov bl, ah
xchg esp, eax
sub al, 0x78
out 0x12, al
jns 0x57f5f5
pop ebx
fcompi st(4)
jns 0x57f64f
sub eax, 0xccd27a57
jns 0x57f5bc
cmc
mov ds, word [eax - 0x582134b4]
xor edi, ecx
push ds
mov ebp, 0x2bacf2d1
jno 0x57f5d8
sub esi, dword [ecx - 0x20]
ljmp 0x898b:0xa85b8cab
pop ebx
test al, 0x8b
mov ebx, eax
jecxz 0x57f5d1
sbb cl, cl
xor al, 0xfb
cdq
jns 0x57f59c
sbb dl, cl
pop ecx
adc byte [ebx + 0x5bee2a22], dh
mov bl, 0x22
sub ch, dh
pop ebx
mov word [edx], ds
xchg ax, bx
scasb al, byte es:[edi]
adc dword [edi], 0xfffffff1
xor byte [ecx - 0x3fa681e6], 0x1d
push esi
lahf
push ecx
lcall 0x931f, 0x82168a25
retf
ljmp 0xc9cc:0x3a3d41
pop ecx
jmp 0x8a4d6cac
call 0xcdff5d0c
jl 0x57f6d3
or al, 0xb2
cwde
mov al, byte [0x4d700f6]
outsd dx, dword [esi]
cmp al, 0x36
imul ebp, dword [ebx + 0x4a815d63], 0x7b6bc1e4
or dword [ebx], ebp
add dword [edx + 0x71], ebx
jmp 0x355b1a3d
popfd
mov fs, word [edx - 0x795f314a]
pop edx
scasb al, byte es:[edi]
into
inc edi
mov ch, 0xed
fisttp word [ebp - 0x5554c5f7]
mov bh, cl
sub esp, dword [ecx + 5]
out dx, al
mov al, byte [ebx - 0x7675662d]
inc ebp
push eax
invalid