Function at 0x444440
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e3ea9
mov eax, dword fs:[0]
push eax
sub esp, 0x138
mov eax, dword [0x678390]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
xor eax, eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x138], ebx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0xd4], 7
mov dword [ebp - 0xd8], 0
mov word [ebp - 0xe8], ax
cmp word [esi], ax
jne 0x4444a6
xor ecx, ecx
jmp 0x4444bf
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4444b0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0xe8]
call fcn.00402b90
xor eax, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x104], 7
mov dword [ebp - 0x108], 0
mov word [ebp - 0x118], ax
cmp word [ebx], ax
jne 0x4444f9
xor ecx, ecx
jmp 0x44450f
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x444500
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea ecx, [ebp - 0x118]
call fcn.00402b90
xor eax, eax
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x30], eax
mov word [ebp - 0x40], ax
mov byte [ebp - 4], 3
call fcn.00453cc9
test al, al
je 0x44455e
pop ss
rcl dword [eax]
lea esp, [ebx]
mov ah, byte [ebp + 0x39]
mov ebx, 0x5dd037fe
dec edx
int1
inc esi
int3
call fcn.00453c3f
test al, al
je 0x444582
push 0xf
out dx, al
mov word [edi], cs
je 0x44450f
cld
lahf
push ss
sub al, 0xd9
test dword [edx], edi
cmp bh, byte [ecx]
or byte [ebx - 0x13e55f51], ah
popal
mov ebx, 0x73e82865
test byte [eax], 0
call fcn.00453bfa
test al, al
je 0x4445a4
mov al, byte [0xfe419942]
cmp bl, bl
cmp eax, 0x8e067de9
mov word [edi - 0x9d99977], ds
pushal
sub eax, 0x88e2c899
bound ecx, qword [ebx - 0xd77b]
inc dword [ebx + 0x117306f8]
mov eax, dword [ebp - 0xd8]
cmp eax, 6
jae 0x4445c0
push 0
push 0x5e9978
lea ecx, [ebp - 0x58]
call fcn.00402b90
jmp 0x444635
add eax, 0xfffffffa
lea ecx, [ebp - 0xe8]
push eax
push 0
lea eax, [ebp - 0x100]
push eax
call fcn.004198f0
mov esi, eax
lea eax, [ebp - 0x58]
cmp eax, esi
je 0x444613
mov eax, dword [ebp - 0x44]
cmp eax, 8
jb 0x4445f6
inc eax
lea ecx, [ebp - 0x58]
push eax
push dword [ebp - 0x58]
call fcn.00402ce0
xor eax, eax
mov dword [ebp - 0x44], 7
push esi
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
call fcn.00405bb0
inc ebp
test al, 0xe8
popfd
adc eax, 0x858bfffc
adc al, 0xff
invalid
mov eax, dword [ebp - 0xec]
mov byte [ebp - 4], 3
cmp eax, 8
jb 0x444635
inc eax
lea ecx, [ebp - 0x100]
push eax
push dword [ebp - 0x100]
call fcn.00402ce0
call fcn.00453bfa
test al, al
je 0x44465a
adc ebx, esi
fisttp qword [ecx]
jae 0x44460c
mov cl, byte [esi + ecx*2]
stc
push ebp
sub al, byte [ebx - 0xf473de5]
xchg dword [edi], eax
in eax, dx
mov eax, dword [0xe982b645]
jae 0x4445da
insb byte es:[edi], dx
mov eax, dword [ebp - 0x108]
cmp eax, 6
jae 0x444676
push 0
push 0x5e9978
lea ecx, [ebp - 0x40]
call fcn.00402b90
jmp 0x4446eb
add eax, 0xfffffffa
lea ecx, [ebp - 0x118]
push eax
push 0
lea eax, [ebp - 0x100]
push eax
call fcn.004198f0
mov esi, eax
lea eax, [ebp - 0x40]
cmp eax, esi
je 0x4446c9
mov eax, dword [ebp - 0x2c]
cmp eax, 8
jb 0x4446ac
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402ce0
xor eax, eax
mov dword [ebp - 0x2c], 7
push esi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov word [ebp - 0x40], ax
call fcn.00405bb0
mov eax, dword [ebp - 0xec]
mov byte [ebp - 4], 3
cmp eax, 8
jb 0x4446eb
inc eax
lea ecx, [ebp - 0x100]
push eax
push dword [ebp - 0x100]
call fcn.00402ce0
call fcn.00453cc9
test al, al
je 0x44470f
mov cs, ebp
wait
fimul word [esi]
jmp 0xe29661b
xor eax, eax
mov dword [ebp - 0xbc], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0xd0], ax
lea ecx, [ebp - 0xd0]
lea eax, [ebp - 0x58]
mov dword [ebp - 0xc0], 0
push eax
call fcn.00402a70
push 1
push 0x5e9c58
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 6
call fcn.00405d30
push 9
push 0x5e9c5c
lea ecx, [ebp - 0xd0]
call fcn.00405d30
call fcn.00453b2b
test al, al
je 0x444781
xor bh, bh
invalid
jmp 0x444721
call fcn.004537ef
test al, al
je 0x4447a5
mov byte [ecx + 0x34ce7bce], bl
lock and byte [esi + 0x751689a], dl
into
xor al, 0xf0
and byte [esi + 0x751689a], dl
jge 0x4447bf
fbstp tbyte [ebx + 0x70]
enter 0xffffffffffffc5cf, 0xffffffffffffffd4
stosb byte es:[edi], al
mov esi, esi
jl 0x44478e
call fcn.004537ef
inc ebp
lock add byte [eax], al
test al, al
je 0x4447c9
push edi
test eax, 0xcf8ff6f1
ljmp 0xc19f
insb byte es:[edi], dx
mov ch, 0x1d
adc eax, dword [esi + 0x39]
dec esi
je 0x444847
fimul dword [ebp - 0xcf7b]
call dword [eax - 0x73]
test dword [eax - 1], ecx
invalid
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0045e234
sub esp, 0x10
mov byte [ebp - 4], 7
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
jb 0x4447fd
mov eax, dword [ecx]
jmp 0x4447ff
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0xb8]
push 0
push eax
call fcn.00402840
lea eax, [ebp - 0x130]
push eax
call fcn.00457df2
add esp, 0x1c
mov byte [ebp - 4], 8
call fcn.00453720
test al, al
je 0x44484e
pop ss
push edx
mov dl, 0x43
outsd dx, dword [esi]
push ebp
jb 0x444834
push ebp
adc al, 0x14
lds ebx, [ecx + 0xba1d22]
bound ebp, qword [edi + 0x6a]
imul ecx, dword [esi + 0x4c9ed9e8], 0x8c93ad16
add eax, 0xf362e81b
dec esp
push ss
lodsd eax, dword [esi]
xchg ebx, eax
mov word [0xf362e81b], es
call fcn.00453bb5
add byte [eax], al
test al, al
je 0x444873
aad 0x60
ljmp 0x2cce
cmp dword [ebp - 0x11c], 8
lea eax, [ebp - 0x130]
push 0x20
cmovae eax, dword [ebp - 0x130]
push str.db4ca825dda9da8e954d43a8a3d481d9
push dword [ebp - 0x120]
push eax
call fcn.00403be0
add esp, 0x10
mov dword [ebp - 0x13c], eax
call fcn.00453834
test al, al
je 0x4448bd
test esp, eax
invalid
jb 0x4448fc
loope 0x4448ce
jo 0x44489e
mov bl, 0x16
mov byte [0x1d14cbd2], al
mov byte [ecx - 0x171727d6], bh
out dx, al
add byte [eax], al
call fcn.004537aa
test al, al
je 0x4448dc
cmp byte [ebp + 0x3e608fc7], ch
or dl, byte [edx]
into
mov al, 0xa7
invalid
xor eax, eax
mov dword [ebp - 0x8c], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0xa0], ax
lea ecx, [ebp - 0xa0]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x90], 0
push eax
call fcn.00402a70
push 1
push 0x5e9c58
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 9
call fcn.00405d30
push 9
push 0x5e9c5c
lea ecx, [ebp - 0xa0]
call fcn.00405d30
je 0x4448e1
invalid
invalid
test dword [eax - 1], esi
invalid
call fcn.00453b2b
test al, al
je 0x44494e
mov edi, ss
aam 0x90
xchg ecx, eax
jmp 0x4449c2
call fcn.004537ef
test al, al
je 0x444972
loop 0x4448e0
salc
cmove ebx, dword [ebx + 0x90df439]
invalid
call fcn.004537ef
test al, al
je 0x444996
mov bl, 6
stc
lodsb al, byte [esi]
shr byte [ecx - 0x3b7fbe50], cl
or dh, byte [eax + 0x25]
jnp 0x444933
in eax, 0xa8
push ebp
dec edi
and byte [ecx], 0x1f
shl dword [edi - 0x7a7296d1], 0x60
invalid
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0045e234
sub esp, 0x10
mov byte [ebp - 4], 0xa
mov ecx, esp
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
cmp dword [ecx + 0x14], 0x10
adc al, 0x10
jb 0x4449ca
mov eax, dword [ecx]
jmp 0x4449cc
mov eax, ecx
push 0xffffffffffffffff
mov byte [eax], 0
lea eax, [ebp - 0x88]
push 0
push eax
call fcn.00402840
lea eax, [ebp - 0x70]
push eax
call fcn.00457df2
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xb
push str.db4ca825dda9da8e954d43a8a3d481d9
push eax
call fcn.004214e0
add esp, 0x24
mov byte [ebp - 0x131], al
lea ecx, [ebp - 0x28]
push 0x5e9978
call fcn.00404170
mov byte [ebp - 4], 0xc
call fcn.00453b70
test al, al
je 0x444a2d
ret
call fcn.004538be
test al, al
je 0x444a4d
or eax, 0xbfb97f23
add dword [edx], edi
xchg dword [ebx], ebx
jne 0x444ab9
and eax, 0x799840b6
int1
add al, byte [ebp - 0x1c219238]
call fcn.004537aa
test al, al
je 0x444a75
add al, 0xe2
sbb eax, 0x24c70890
invalid
cmp dword [ebp - 0x13c], 0
jne 0x444a93
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x28]
call fcn.00402a70
jmp 0x444ad2
cmp byte [ebp - 0x131], 0
mov edx, dword [ebp - 0x138]
je 0x444aa5
push edx
jmp 0x444aca
mov ecx, edx
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x444ab0
sub ecx, esi
sar ecx, 1
je 0x444ac4
push edx
jmp 0x444aca
push dword [ebp - 0x140]
lea ecx, [ebp - 0x28]
call fcn.00404400
call fcn.004538be
test al, al
je 0x444afa
sbb al, 0x12
sbb dword [0x6311d1fb], ebp
into
xchg ebp, eax
insb byte es:[edi], dx
jno 0x444b57
pop edi
pop esp
mov ch, 0x13
movsd dword es:[edi], dword [esi]
mov bl, 0x31
rcl dword [eax], 0x47
retf 0x5176
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0x5eaaa4
push str.AppInfo
call fcn.004023e0
mov ecx, eax
call fcn.00476a9c
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push 0x5eaaa4
push str.AppInfo
call fcn.004023e0
mov ecx, eax
call fcn.00476b61
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x444b53
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402ce0
xor eax, eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x18], 0
in al, dx
pop es
add byte [eax], al
add byte [esi - 0x77], ah
inc ebp
fmul dword [ebx + 0x45c7a445]
call 0x444b6a
cmp eax, 8
jb 0x444b7c
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.00402ce0
xor eax, eax
mov dword [ebp - 0x5c], 7
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60], 0
cmp eax, 0x10
jb 0x444bab
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.00402c90
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
call fcn.00412820
lea ecx, [ebp - 0x130]
call fcn.00412820
mov eax, dword [ebp - 0xa4]
cmp eax, 0x10
jb 0x444bf4
inc eax
lea ecx, [ebp - 0xb8]
push eax
push dword [ebp - 0xb8]
call fcn.00402c90
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xa4], 0xf
mov dword [ebp - 0xa8], 0
mov byte [ebp - 0xb8], 0
call fcn.00412820
lea ecx, [ebp - 0x40]
call fcn.00412820
lea ecx, [ebp - 0x58]
call fcn.00412820
lea ecx, [ebp - 0x118]
call fcn.00412820
lea ecx, [ebp - 0xe8]
call fcn.00412820
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047070c
mov esp, ebp
pop ebp
ret 8