Function at 0x4704a6
Capabilities:
Encode data using xor
Packed with generic packer
Resolve function by parsing pe exports

Disassembly:
mov bl, 0x7f
xchg esp, eax
dec ebp
cmp esi, edi
dec eax
push ebp
jl 0x422862
nop
cmp al, 0x4a
bound ebp, qword [ebx + 0x31]
rcl byte [eax + 0x6e]
xor edi, ecx
invalid
popal
dec eax
push es
into
push 0x61e9cb7d
jge 0x42288e
dec ebx
scasb al, byte es:[edi]
cmp eax, 0x257598ec
xchg edx, eax
out 0xf3, al
push es
dec esi
or eax, 0xaa8d871a
iretd
das
dec ecx
pop es
xor eax, 0x1d088f97
mov bh, 0x37
xchg ebx, eax
cmp edi, ecx
dec ecx
push 0xe6415331
insd dword es:[edi], dx
mov al, byte [0xafdd2412]
or dword [edx], edi
sbb esp, dword [esi - 0x20]
pop ebx
mov eax, 0xe21faac
ror dword [eax + 0x4a96533e], cl
js 0x422837
lcall 0xe409, 0x3891ec64
mov al, 0xb5
and byte [ecx + 0x1c], ch
push ss
dec ecx
xor bh, byte [eax - 0x486ca0ea]
jns 0x4228dc
push edi
push 0xc4bb7fec
sub bl, ah
push ds
test al, 0x47
or dword [0xde7c645d], esp
sbb eax, 0xf05d339
imul eax, edx, 0xffffffa1
rol dword [0xa1c26b0f], cl
mov al, 0xb1
invalid
je 0x422886
push 0x2c
mov dword [edi + esi*8], ebx
inc esp
cld
mov edi, 0xbb218048
fild qword [ebp + 0x1d]
fimul dword [esi + 0x47]
iretd
out 0x15, eax
ja 0x422916
xchg bh, ah
jnp 0x422971
and dword [ebx - 0x5f915168], ebp
jecxz 0x422927
pop ds
xchg al, bh
sub byte [ebx], ah
movsd dword es:[edi], dword [esi]
invalid
cmp dword [edx + 0x4c], ebx
and cl, byte [esi + 0x1b710d73]
dec eax
jg 0x422902
dec ebx
sub dword [edx - 0x45371ad6], ebp
mov bh, 0x92
sub al, 0xf0
cmpsb byte [esi], byte es:[edi]
and eax, 0x7922ff64
jne 0x4229d4
nop
push edx
jle 0x422921
dec edx
test eax, 0x426389ec
in al, 0xff
call 0xa2ce17bd
cmp eax, 0x59882939
mov esp, dword [edx - 0x77d6c6c3]
pop ecx
cmc
push 0x2c
sal dword [ebx], 0x84
jl 0x422992
adc cl, byte [ecx]
mov al, byte [eax - 0x3f]
pop ds
enter 0x3a2a, 0xffffffffffffffaf
mov dword [ebx], 0x244f6be1
push esi
pop edx
fldcw word [esi - 0x4f]
jecxz 0x422a0c
xlatb
test al, 0xef
invalid
ret 0x2156
push esi
les edi, [ebp + ecx*4 - 0x51503c2b]
lsl ecx, word [ecx - 0x28fb445a]
cmp byte [esi + 0x4c377292], ch
sbb ecx, dword [ecx + 0x4538f5a8]
dec esi
test eax, 0x2586fec2
cmp dword [edx - 0x2c], ebp
cmc
js 0x42299c
and byte [ebx - 0x424075d7], ah
inc edx
wait
xor byte [0xb02f0c42], 0x14
mov ebp, 0x35809b42
inc edx
or al, 0x2f
mov al, 0x14
test al, 0xe6
je 0x4229f6
fbstp tbyte [edx]
loop 0x4229a8
add ecx, dword [esp + eax*4]
xor dword [edi + 0x7c], eax
ror ecx, 1
mov al, byte [0x767e16e6]
mov ecx, dword [edi]
mov word [edi + 0x60], fs
pushal
fisubr word [ecx - 0x6d]
and eax, 0xc894ebad
cli
mov eax, 0xc9e5bf04
sub byte [edx + ebp*4], dh
push 0x7b6dbdfe
or eax, 0x87067f6d
mov dl, 0x64
push eax
pushfd
mov byte [0xcc24d6f1], al
insd dword es:[edi], dx
jnp 0x422a1c
insd dword es:[edi], dx
jg 0x422a18
xchg dword [edx - 0x5d63af9c], esi
int1
salc
and al, 0xcc
xchg ebp, eax
inc ebx
invalid
mov eax, 0x7881aa98
jmp fcn.0043d992
cmp eax, 0x8dffe41f
dec ebp
in al, dx
jmp 0x2ca37d
mov edx, dword [esp + 8]
lea eax, [edx + 0xc]
mov ecx, dword [edx - 0x1c]
xor ecx, eax
call fcn.0043ae07
mov eax, 0x7881aacc
jmp fcn.0043d992
jo 0x448277
invalid
dec esp
int3
aam 0xe9
in al, 0x2c
jecxz 0x44822e
dec dword [ebx - 0x72f7dbac]
inc edx
or al, 0x8b
dec edx
sal byte [ebx], 1
enter 0xffffffffffffc7e8, 0x2b
invalid
mov ecx, dword [ebp - 0x10]
add ecx, 0x40
jmp 0x2ae896
add al, ch
nop
cmp dword [eax - 0x14], 0xffffffff
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
dec dword [edi]
test dword [eax - 0x7cfffbae], esi
jge 0x45dc2b
add byte [edi + 0xe200b], bh
jne 0x4a2ed2
cmp dword [ebp + 0xc], edi
je 0x45dc61
cmp dword [ebp + 0xc], 0x26200a
jne 0x4a2f7f
or ah, byte [eax]
add byte es:[edi], cl
test dword [edx + 0x53], ecx
add al, 0
cmp dword [ebp + 0x28], 0
jne 0x45dc45
cmp dword [ebp + 0x14], 0
jne 0x4a2fa2
cmp dword [ebp + 0x20], 0
jne 0x45dc61
cmp dword [ebp + 0x14], 0
mov eax, ebx
jne 0x45dc58
mov eax, 0x70d3ecb4
push eax
lea ecx, [ebp - 0x2c]
call fcn.0045dcdd
cmp dword [ebp + 8], 2
je 0x4a2fb4
cmp dword [ebp + 8], 3
je 0x4a2fbf
cmp dword [ebp + 0x14], 0
mov eax, dword [0x70e6cb90]
jne 0x45dc85
mov eax, dword [0x70e6d6dc]
push esi
push eax
lea ecx, [ebp - 0x2c]
call fcn.004707c7
mov esi, dword [ebp + 0x14]
xor ebx, ebx
cmp esi, ebx
jne 0x448221
cmp dword [ebp + 0xc], edi
je 0x45dccf
cmp dword [ebp + 0x20], ebx
jne 0x45dcbd
cmp esi, ebx
mov eax, 0x70e0e83b
jne 0x45dcb4
mov eax, 0x70d3edc4
push eax
lea ecx, [ebp - 0x2c]
call fcn.0045dcdd
cmp esi, dword [ebp - 8]
jne 0x4a2fca
cmp dword [ebp + 0x1c], ebx
jne 0x4a2fe6
cmp dword [ebp + 0x10], ebx
jne 0x4a2ff6
jmp 0x47060c
pop edi
pop esi
xor eax, eax
pop ebx
leave
ret 0xc
pop es
push esi
lea ecx, [ebp - 4]
call 0x484851
mov esi, 0x70e6dc3c
push esi
call dword [0x70d01008]
cmp dword [0x70e6dd38], 0
push esi
jne 0x487e03
call dword [0x70d0100c]
push dword [ebp + 8]
call fcn.00464d12
mov ecx, dword [ebp - 4]
mov dword [ebp + 8], ecx
wait
fnclex
fldcw word [ebp + 8]
pop esi
leave
ret 4
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [ebp + 0x14]
push ebx
push esi
mov esi, ecx
mov ecx, dword [eax + 0x208]
mov dword [ebp + 0x14], ecx
mov ecx, dword [eax + 0x14]
xor ebx, ebx
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0x18]
inc ebx
cmp dword [ebp + 8], 2
push edi
mov edi, dword [eax + 0x24]
mov dword [ebp - 0xc], ecx
je 0x448229
cmp dword [ebp + 8], 3
je 0x448229
and dword [ebp - 4], 0
cmp dword [esi], 0
je 0x46025f
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
push dword [ebp - 0x10]
mov dword [esi + 0x2c], ecx
mov ecx, dword [eax + 4]
mov dword [esi + 0x30], ecx
mov ecx, dword [eax + 8]
mov dword [esi + 0x34], ecx
mov ecx, dword [ebp + 0x28]
push eax
lea eax, [esi + 0x3c]
mov dword [esi + 0x20], ecx
push eax
lea ecx, [ebp - 0x2c]
mov dword [esi + 0x24], edi
call fcn.0047047c
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov eax, 0xff
and ebx, eax
mov edi, ecx
and edi, eax
mov eax, ecx
shr eax, 0x14
and eax, 1
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0x10]
shr eax, 0x14
and eax, 1
mov dword [ebp + 0x28], eax
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x18], eax
mov eax, ecx
shr eax, 0x12
not eax
and eax, 1
test ecx, 0x10000
mov dword [ebp + 0x20], eax
jne 0x4a2e32
mov edx, dword [ebp + 0x14]
xor eax, eax
cmp dword [ebp - 0xc], 2
jge 0x4481eb
cmp dword [ebp - 8], 0
jne 0x4481fb
cmp dword [ebp + 0x28], 0
jne 0x4481fb
test eax, eax
jne 0x4481fb
and dword [ebp + 0x14], eax
cmp dword [ebp - 4], 0
jne 0x4a2e50
mov ecx, edi
shl ecx, 2
cmp dword [ebp + 0xc], 0x21005
mov eax, dword [ecx + 0x70e6d670]
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x1c], eax
jl 0x4705db
cmp dword [ebp + 0xc], 0x21006
jle 0x422943
cmp dword [ebp + 0xc], 0x22009
jne 0x45b3dc
and dword [ebp + 0x1c], 0
mov dword [ebp + 0xc], 0x26200a
mov edx, dword [ebp + 8]
cmp edx, 1
jne 0x470751
mov eax, dword [ebp + 0x10]
cmp eax, 0xe200b
jne 0x470602
cmp dword [ebp + 0x20], 0
je 0x470602
cmp dword [ebp - 8], 0
jne 0x470602
mov eax, 0x26200a
cmp eax, dword [ebp + 0xc]
jne 0x45b3a1
mov eax, dword [ebp + 0x18]
push dword [eax + 0x70e6dbd0]
lea ecx, [ebp - 0x2c]
call fcn.00470682
add byte [eax], al
inc ebp
sbb bh, bh
mov al, 0xd0
invalid
cmp dword [ebp - 0x10], 1
je 0x4705e7
xor ebx, ebx
xor edi, edi
cmp dword [ebp + 0x24], ebx
mov dword [ebp + 0x10], ebx
je 0x470798
cmp dword [ebp - 4], ebx
movzx eax, byte [ebp + 0xd]
jne 0x4a2e7a
cmp dword [ebp + 0x14], ebx
jne 0x448207
cmp eax, 8
je 0x4a2f70
cmp eax, 0x10
je 0x4a2f5f
cmp eax, 0x18
je 0x4a2f4e
cmp edx, ebx
jne 0x45dc0d
cmp dword [ebp + 0x28], ebx
jne 0x45dc0d
cmp dword [ebp + 0x14], ebx
jne 0x44821e
mov ebx, dword [ecx + 0x70e6d6b0]
test ebx, ebx
je 0x45dc0d
test edi, edi
jne 0x4a2f81
invalid
push esi
push ebx
add byte [eax], al
add byte [esi + 0x1f], bh
test edi, edi
je 0x4a2e56
push dword [edi + 0x14]
mov ebp, dword [edi]
call 0x48a6c4
push edi
call 0x48a6c4
inc ebx
cmp ebx, dword [esi + 0xb4]
add byte [eax], al
mov edi, ebp
jl 0x4a2e37
pop edi
pop ebp
jmp 0x48c65b
or cl, ch
in al, dx
out dx, al
sti
invalid
sub cl, 0xa2
mov al, 0xfb
dec dword [ebx + 0x4689f845]
dec esp
jmp 0x45df27
sbb al, 0xe9
cli
sti
dec dword [ebx - 0x7631731]
sti
invalid
call 0x58fc17a3
pop es
add cl, ch
sub byte [edi + 0x46c7fffb], ch
jo 0x4a2f60
add byte [eax], al
add byte [eax], al
jmp 0x462812
add cl, ch
lodsb al, byte [esi]
clc
sti
invalid
mov eax, 0x8007000e
jmp 0x4606b2
invalid
add dword [eax], eax
jnp 0x4a2f0d
jmp 0x4606a6
salc
sti
inc edi
inc edi
jo 0x4a2faa
add byte [eax], al
add cl, ch
salc
sti
dec dword [ebx + 0x45891043]
or al, 0xe9
mov ecx, 0x8bfffbad
inc ebx
adc al, 0x89
inc esi
or byte [ebx + 0x46891843], cl
or al, 0xdd
inc esi
add byte [eax], al
jmp 0x4606a4
mov dword [ebp + 0xc], eax
jmp 0x45dd75
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x18]
mov dword [esi + 0xc], eax
fld qword [esi + 0x30]
fstp qword [ebx + 0x28]
fld qword [esi + 0x38]
fstp qword [ebx + 0x30]
jmp 0x45ddec
xor ch, bl
pop ebx
sub ch, bl
inc esi
cmp ch, bl
pop ebx
xor cl, ch
adc ebp, dword [esi + 0x538bfffb]
adc al, 0x3b
retf 0xc75
je 0x45ddd4
test eax, eax
je 0x45eb97
test ecx, ecx
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
jge 0x4a3004
fadd qword [0x70d8ac98]
test edx, edx
fmul qword [ebx + 0x28]
mov dword [ebp + 8], edx
fild dword [ebp + 8]
jge 0x4a3017
fadd qword [0x70d8ac98]
fdivp st(1)
mov eax, dword [esi + 0xc]
test eax, eax
fstp qword [esi + 0x30]
fild dword [esi + 0xc]
jge 0x4a302c
fadd qword [0x70d8ac98]
mov eax, dword [ebx + 0x18]
fmul qword [ebx + 0x30]
test eax, eax
fild dword [ebx + 0x18]
jge 0x4a303f
fadd qword [0x70d8ac98]
fdivp st(1)
fstp qword [esi + 0x38]
mov dword [ebx + 0x14], ecx
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x18], eax
jmp 0x4a2fc8