Function at 0x406f07
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x11c4
call fcn.0042f8a0
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
push ebx
push esi
mov ebx, edx
push edi
mov edi, ecx
xor ecx, ecx
xor edx, edx
inc edx
mov esi, ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], edi
test eax, eax
je 0x40746d
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x407414
mov dword [eax], ecx
mov dword [ebp - 0xd0], 0x4ae7e0
mov dword [ebp - 0xcc], 0x4ae8e0
mov dword [ebp - 0xc8], 0x4ae9e0
mov dword [ebp - 0xc4], 0x4aeb20
test ebx, 0xd8008580
jne 0x40741b
test ebx, 0x10000
jne 0x407427
push 0x28
pop edx
mov dword [ebp - 0x6c], ecx
cmp word [edi], dx
je 0x482c42
test ebx, 0x800
je 0x407436
cmp dword [ebp - 0x18], 0
mov dword [ebp - 4], 1
jne 0x40742f
test ebx, 0x2000
je 0x482f00
mov ecx, 0x1800000
mov eax, ebx
and eax, ecx
cmp eax, ecx
je 0x40743e
mov eax, ebx
push 2
pop edx
and eax, 0x700000
jne 0x482f1c
mov dword [ebp - 0x54], edx
xor ecx, ecx
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x7c], ecx
lea eax, [ebp - 0x1c0]
mov ecx, edi
mov dword [ebp - 0x94], 0x800
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x98], 0x14
mov dword [ebp - 0xb8], edi
call fcn.00408b7e
lea eax, [edi + eax*2]
mov dword [ebp - 0xb4], eax
lea eax, [edi + esi*2]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov eax, 0x83
mov word [ebp - 0x11c0], ax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xd0]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
push ecx
push ecx
push ecx
push ecx
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xac], ecx
push eax
lea edx, [ebp - 0x18]
mov ecx, ebx
mov dword [ebp - 0x70], ebx
call fcn.00407474
mov esi, dword [ebp - 8]
add esp, 0x34
test esi, esi
jne 0x48314e
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
cmp ecx, 0x10000
jg 0x407442
cmp dword [ebp - 0x58], esi
jne 0x482f9c
mov eax, dword [ebp - 0x9c]
imul eax, dword [ebp - 0xa0]
add eax, ecx
lea esi, [eax*2 + 0x38]
push esi
call dword [0x4bbddc]
mov ebx, eax
pop ecx
test ebx, ebx
je 0x40741f
mov dword [ebx + 4], esi
mov dword [ebx], 0x50435245
mov eax, dword [ebp - 0x70]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x18], eax
push 0x1c
pop eax
mov word [ebx + 0x22], ax
mov ax, word [ebp - 0x9c]
mov word [ebx + 0x24], ax
mov ax, word [ebp - 0xa0]
mov word [ebx + 0x26], ax
xor esi, esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
xor eax, eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x88], esi
movzx eax, word [ebx + 0x22]
lea edx, [ebx + eax*2]
mov dword [ebp - 0xa4], edx
movzx eax, word [ebx + 0x24]
movzx ecx, word [ebx + 0x26]
imul ecx, eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xa0]
lea edi, [edx + ecx*2]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0xac], esi
test eax, eax
jg 0x482fb2
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
push esi
mov eax, 0x83
mov word [edi], ax
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0xd0]
push eax
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
push esi
push esi
push esi
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], edi
call fcn.00407474
mov ax, word [ebp - 0x90]
mov word [ebx + 0x1e], ax
mov ax, word [ebp - 0x84]
mov word [ebx + 0x20], ax
mov ax, word [ebp - 0x88]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x6c]
or eax, 2
add esp, 0x34
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x64], 0
jne 0x483004
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 8], esi
test esi, esi
jne 0x40728a
mov eax, dword [ebp - 0x24]
cmp word [eax], dx
jne 0x483014
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x18], eax
sub eax, edi
sar eax, 1
cmp eax, dword [ebp - 0x30]
jg 0x48301f
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
cmp eax, ecx
ja 0x48302a
cmp dword [ebp - 0x94], 0x800
jg 0x48309e
xor eax, eax
mov dword [ebp - 0xc0], eax
test esi, esi
jne 0x4072e3
mov ax, word [ebx + 0x20]
cmp ax, word [ebx + 0x1e]
ja 0x4830ab
test dword [ebp - 0x14], 0x20000
mov esi, dword [ebp - 4]
jne 0x407300
lea eax, [ebp - 0xd0]
push eax
mov edx, esi
mov ecx, edi
call fcn.00408b8e
pop ecx
cmp dword [ebp - 0x5c], 0
jne 0x4830b6
mov esi, dword [ebp - 8]
test esi, esi
jne 0x483146
mov eax, dword [ebx + 8]
mov esi, 0x80
mov dword [ebp - 0x38], eax
mov dword [ebp + 0xc], esi
test al, 0x10
jne 0x407380
xor esi, esi
lea eax, [ebp - 0xd0]
push esi
push eax
xor edx, edx
mov ecx, edi
call int.00406d75
pop ecx
pop ecx
test eax, eax
jne 0x48317c
mov eax, dword [ebp - 0xc]
test eax, eax
jns 0x4073bf
push esi
lea edx, [ebp - 0xc]
mov ecx, edi
call fcn.00406bc4
mov edx, eax
mov eax, dword [ebp - 0xc]
pop ecx
test eax, eax
jns 0x4073c2
lea eax, [ebp - 0xd0]
push esi
push eax
xor edx, edx
mov ecx, edi
call int.00406c8a
pop ecx
pop ecx
test eax, eax
jne 0x48318a
mov esi, 0x80
mov eax, dword [ebp - 0x28]
test eax, eax
jns 0x4073d9
mov esi, dword [ebp - 0x18]
xor eax, eax
push eax
lea eax, [ebp - 0xd0]
push eax
push dword [ebp - 4]
mov edx, esi
mov ecx, edi
call int.00408922
add esp, 0xc
test eax, eax
jne 0x407461
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
cmp word [edi], 0x77
je 0x40738a
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret
mov edx, dword [ebp - 0x3c]
mov word [ebx + 0x18], dx
test al, 1
jne 0x483196
mov esi, 0x80
or dword [ebx + 0xc], 0x10
jmp 0x407380
test byte [ebx + 8], 0x10
jne 0x407446
mov edx, dword [ebp - 0x34]
mov word [ebx + 0x1a], dx
test al, 1
je 0x40740b
cmp dword [ebp - 4], 0
je 0x407450
cmp dx, si
jae 0x48320d
mov eax, dword [ebp - 0xcc]
movzx ecx, dx
movzx eax, byte [ecx + eax]
cmp ax, dx
jne 0x40745c
or dword [ebx + 0xc], 0x40
jmp 0x407387
push 0x10
jmp 0x482c3c
push 0x11
jmp 0x407421
push 0x15
pop esi
jmp 0x48314e
mov dword [ebp - 0x18], edx
jmp 0x406f99
push 0x4e
jmp 0x482c3c
mov dword [ebp - 4], ecx
jmp 0x406fd1
push 0x38
jmp 0x407421
push 0x14
jmp 0x407421
test al, 2
je 0x407387
jmp 0x4073df
mov eax, 0xff
cmp dx, ax
ja 0x40740b
jmp 0x4073f9
or dword [ebx + 0xc], esi
jmp 0x40740b
or dword [ebx + 0xc], 0x8000
jmp 0x4073b8
xor eax, eax
jmp 0x4073ba
push ebx
fbld tbyte [edi + 0x606fd97e]
outsd dx, dword [esi]
pushal
inc esp
out 0x58, al
mov edx, 0xf7953736
cmp byte [edx], 0xc7
push esp
push eax
not byte [eax + 0x479bb32b]
ljmp 0x1fa3:0x7d10e33e
pop edx
arpl cx, di
popfd
mov al, 0x55
or al, 0x93
push edi
in al, dx
clc
into
sub eax, 0xdcfeb9be
jg 0x482f33
frstor dword [ebx - 0x521d81cc]
push esi
cmc
xor cl, byte [edi]
xchg ebx, eax
mov word [ebx], ds
aas
pop edi
pop ebp
fadd qword [ecx + ecx*4 + 0x1c]
loopne 0x482efb
sar dword [esi - 6], 1
cmp al, 0x80
mov ebx, 0xf152653
mov eax, dword [0x4ff2f139]
cmp byte [ebx + 0xf152653], 0xa1
cmp ecx, esi
dec edi
push ss
push edx
leave
dec esp
xor bh, byte [esi + 0x25]
sti
salc
loope 0x482f7b
imul edi, esi, 0x8f4400ae
add ecx, dword cs:[eax]
xchg ecx, eax
mov byte [0xc29476e1], al
or ebx, edi
pop ecx
out dx, eax
cld
vpunpcklbw zmm4 {k4} {z}, zmm6, zmmword [0xa787710c]
xchg ebp, eax
jnp 0x482eef
invalid
sub byte [eax + 0x24], ah
invalid
push ebx
clc
sbb dword [ebx], ebp
push edx
mov byte [0x4005c220], al
lodsb al, byte [esi]
sbb edi, ecx
push eax
mov bl, 0xc1
popal
inc edx
mov al, 0x3d
adc dword [edi], edi
xchg esi, eax
sbb ah, byte [ebp + 0x14b87e4d]
test eax, eax
out 0x20, al
fadd qword [ebp - 0x60]
cwde
pop edi
sub esp, dword [ebp - 0x756e700]
imul ebp, dword [edi + 0x7e], 0xf3aff94d
test al, 0x35
nop
dec ebx
adc dh, ah
aam 0x86
sbb al, 0x86
adc ch, ah
invalid
sbb ecx, dword [ebp - 0x139e72c6]
loopne 0x483020
hlt
sub ah, ch
pop ebx
pop edx
push edi
sbb edx, esp
outsb dx, byte [esi]
jae 0x483030
loope 0x482fd3
jl 0x48307f
xchg byte [ebx - 0x27], bh
int3
fxch st(4)
jmp 0x48305d
idiv byte [edi + edi*2 + 0x2fe796bd]
mov esp, 0xe796bd7f
das
test byte [edx], 0x80
add byte [0x755b32c1], cl
or eax, 0x755b32c1
jbe 0x48309f
outsb dx, byte [esi]
ret
push es
cmp eax, 0x5903329d
mov al, byte [0xa749c1d7]
mov ecx, 0x98011130
xchg esp, eax
mov al, 0x5f
insb byte es:[edi], dx
sub ebx, dword [eax - 0x75dac699]
arpl word [esi + 0x6e], di
inc edi
inc ebx
push ecx
call 0x30103632
int1
mov dh, 0xa8
sbb dl, byte [ebp - 0x349b756d]
xor esi, dword [ecx + 0x74]
sub ah, ah
adc dword [ebp - 0x714bd6c8], edi
retf 0x76e2
or byte [esi - 0x45], cl
invalid
dec esi
mov ebx, 0xecddb8d
inc esi
stosb byte es:[edi], al
int 0x4d
pop esp
jmp 0x4830c0
adc al, 0xd
fisttp qword [ecx + 0x1e]
adc ebp, edx
in eax, dx
mov dh, 0xea
sbb eax, 0xd3717d
jge 0x483129
rol dword [eax], cl
pop ss
std
mov eax, 0xcd06f77b
leave
int 0xc9
test eax, 0xeb3b8bf8
lahf
mov ch, 0x59
inc ecx
adc eax, 0x940c1fb6
push eax
sub al, 0xc6
and bh, bl
cwde
jo 0x4830c7
push ebp
xor cl, byte [edx - 0x5d]
pop es
or al, 0
stosd dword es:[edi], eax
push ecx
push ecx
ljmp 0x460c
or al, 0x46
adc al, 4
pop ds
adc cl, byte [ebx]
mov ebp, 0x6380a90b
int1
cmp edi, dword [ebp + 0x3823cea5]
into
and edi, dword [eax]
ljmp 0x1a24:0x9a3bc4a2
lea edi, [edx]
or al, 0x81
mov dword [eax], ecx
invalid
pop ebp
pop edi
cmp ecx, esp
mov cs, ebp
mov byte [0xf777b142], al
loop 0x483147
add byte [edi], dh
aaa
dec esi
nop
sbb edx, dword [esi + 0x41]
pop ds
mov al, byte [0x2d3d7c9c]
out 0xd6, eax
jnp 0x4830f8
in eax, 0xae
jns 0x4830e7
cdq
popal
cdq
stc
xchg esi, eax
pop eax
pop eax
xchg edi, eax
push edx
or dword [esi], edx
jo 0x483148
mov bl, byte [esi + edx]
jno 0x483170
fisubr dword [ecx]
dec edx
sbb byte [edx], 0xf9
stc
std
jp 0x48313a
sbb dh, bh
mov cl, byte [ebx + 0x23]
sub dword [ecx], ebx
ljmp 0x7815
stosb byte es:[edi], al
mov esi, 0x352f9e23
mov dh, 0xdc
jp 0x4831a9
pop ebp
int 0x33
ficomp word [eax - 0x6f6694d]
xor ebx, esi
cwde
mov bl, 0x96
or ecx, edi
shr byte [0xc52c7914], 1
lds ecx, [0xa5284886]
jl 0x483173
pop edi
push ebp
call edi
cmp dl, bh
out 0x23, eax
mov byte [0x44ccef0f], al
mov ebx, dword [ebx + 0x30114635]
invalid
sub dword [edx + 0x6b], ebp
insb byte es:[edi], dx
adc byte [ebp + 0x5b], 0x27
in al, dx
or cl, byte [ebx]
mov ebx, 0xafc3871c
aas
xor ebx, ecx
add byte [ebx], 0x26
sub eax, 0xc87a64bf
or byte [eax], dh
cdq
dec esp
dec esi
ret 0x2962