Function at 0x442750
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x298
mov edx, dword [esp + 0x2b8]
mov dword [esp + 0x7f], 0xe48040
mov dword [esp + 0x7c], 0x4010ec83
mov dword [esp + 0x78], 0x48e78948
mov dword [esp + 0x74], 0xce8948fc
lea edi, [esp + 0x98]
lea eax, [esp + 0x74]
mov ecx, 3
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xa4]
lea eax, [esp + 0x80]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
movzx eax, byte [esp + 0x82]
mov byte [esp + 0xa6], al
mov esi, edx
cmp edx, 4
jb 0x4427c8
mov esi, 4
lea ebp, [esp + 0xa7]
test edx, edx
je 0x442be3
xor eax, eax
mov dword [esp + 8], esi
jmp 0x4427ed
mov esi, dword [esp + 8]
inc eax
cmp eax, esi
je 0x442a53
cmp eax, 3
ja case.default.0x4427f2
jmp dword [eax*4 + 0x447af0]
mov dword [esp + 0xc], 0x6170f23c
mov dword [esp + 0x10], 0
mov ecx, 0xba950ee9
nop
nop
movzx ebx, byte [esp + ecx + 0x456af123]
mov edi, ecx
and edi, ebx
add edi, edi
sub ebx, edi
add ebx, ecx
mov edi, ebx
and edi, 1
or ebx, 1
add ebx, edi
add bl, 0x72
mov byte [esp + ecx + 0x456af123], bl
inc ecx
cmp ecx, 0xba950ef1
jne 0x442810
lea edx, [esp + 0xc]
mov ebx, edx
xor ecx, ecx
mov edi, ebp
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, edx
mov ecx, 1
mov edi, ebp
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx ecx, byte [esp + 0xe]
mov byte [ebp + 2], cl
add ebp, 3
jmp case.default.0x4427f2
mov dword [esp + 0xc], 0x438cca84
mov byte [esp + 0x10], 0x2c
lea ecx, [esp + 0x10]
mov byte [ecx + 3], 0
mov word [ecx + 1], 0
xor ecx, ecx
xor edi, edi
nop
mov edx, ecx
and edx, 8
mov ebx, edi
xor ebx, 0xc
add ebx, edx
xor bl, byte [esp + edi + 0xc]
add bl, 0xc4
mov byte [esp + edi + 0xc], bl
inc edi
add ecx, 2
cmp edi, 8
jne 0x442890
lea edx, [esp + 0xc]
mov ecx, 1
mov edi, ebp
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add ebp, 4
lea edx, [esp + 0x10]
mov edi, ebp
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
jmp case.default.0x4427f2
mov dword [esp + 0xc], 0x1158a668
mov byte [esp + 0x10], 0x28
lea ecx, [esp + 0x10]
mov dword [ecx + 4], 0
mov dword [ecx + 1], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0xc]
mov esi, ecx
and esi, 9
xor esi, 0x1fccc49
mov ebx, ecx
and ebx, 6
sub ebx, esi
xor ebx, edx
add ebx, 0x9effd6c
mov edx, ebx
xor edx, 0xfffffffe
mov edi, ebx
or edi, 1
and edi, edx
mov edx, edi
and edx, 0xfd
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
xor esi, 2
imul esi, edx
xor ebx, 1
add ebx, edi
add ebx, esi
mov byte [esp + ecx + 0xc], bl
inc ecx
cmp ecx, 0xc
jne 0x442910
lea edx, [esp + 0xc]
mov edi, ebp
mov ecx, 1
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add ebp, 4
lea edx, [esp + 0x10]
mov edi, ebp
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
jmp 0x4427e0
mov dword [esp], ebp
mov dword [esp + 0xc], 0x29e8a2e4
mov byte [esp + 0x10], 0x10
mov dword [esp + 0x11], 0
mov ecx, 0x88f1bc5
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x88f1bb9]
mov ebx, ecx
and ebx, edi
add edi, ecx
add ebx, ebx
mov ebp, edi
sub ebp, ebx
add ebp, 0xb5843d0b
mov ebx, ebp
and ebx, 0xd5347526
xor ebp, 0xd5347526
lea esi, [ebx*2]
add esi, ebp
mov edx, 0xb5843d0a
sub edx, esi
lea ebp, [ebp + ebx*2 + 0x4a7bc2f5]
and edi, 1
mov ebx, edx
not ebx
and edx, 0xa32387d4
and ebp, 0x5cdc782b
or ebp, edx
xor ebp, 0xa32387d5
and ebx, 1
or ebx, ebp
mov edx, ebx
and edx, edi
xor ebx, edi
lea edx, [ebx + edx*2]
mov byte [esp + ecx - 0x88f1bb9], dl
inc ecx
cmp ecx, 0x88f1bce
jne 0x4429b0
lea edx, [esp + 0xc]
mov ecx, 1
mov ebp, dword [esp]
mov edi, ebp
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
add ebp, 4
lea edx, [esp + 0x10]
mov edi, ebp
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
jmp 0x4427e0
mov eax, dword [esp + 0x2b8]
cmp eax, 3
jbe 0x442be3
test al, 1
je 0x442a91
mov eax, 0x448025
mov edx, 0x448025
mov edi, ebp
xor ecx, ecx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, 1
mov edi, ebp
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x2b8]
add ebp, 2
mov ecx, eax
lea eax, [eax*8]
mov esi, 0xffffffff
mov edi, 0xffffffff
cmp eax, 0x7ffffffe
ja 0x443051
mov dword [esp], ebp
dec ecx
cmp ecx, 4
jb 0x442be6
mov ebp, ecx
lea esi, [esp + 0xc]
jmp 0x442ade
mov ebp, dword [esp + 8]
dec ebp
cmp ebp, 3
jbe 0x442be6
mov ecx, ebp
mov eax, ebp
and eax, 8
mov ebx, ebp
or ebx, 8
imul ebx, eax
xor eax, 8
mov dword [esp + 8], ebp
and ecx, 0xfffffff7
imul ecx, eax
add ebx, ecx
cmp ebx, 0x7e
ja 0x442b80
mov dword [esp + 0xc], 0x97ac6ea0
mov dword [esp + 0x10], 0xf5a4
mov ecx, 0xfa7184d6
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x58e7b36]
mov edx, eax
and edx, ecx
add dl, dl
sub al, dl
movzx eax, al
add eax, ecx
add al, 0xd2
mov byte [esp + ecx + 0x58e7b36], al
inc ecx
cmp ecx, 0xfa7184de
jne 0x442b20
mov eax, esi
mov edx, dword [esp]
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [edx + 4]
lea eax, [esp + 0x10]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
movzx eax, byte [esp + 0x10]
mov byte [edx + 4], al
mov byte [edx + 3], bl
add edx, 5
mov dword [esp], edx
jmp 0x442ad0
mov dword [esp + 0xc], 0x798086bc
mov dword [esp + 0x10], 0x4dfefff8
mov byte [esp + 0x14], 0xfc
mov dword [esp + 0x15], 0
xor ecx, ecx
nop
mov eax, ecx
add al, 0x7f
xor al, byte [esp + ecx + 0xc]
add al, 0x85
mov byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0xd
jne 0x442ba0
mov eax, esi
mov edx, dword [esp]
mov edi, edx
mov ecx, 2
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ebp, esi
lea esi, [edx + 8]
lea eax, [esp + 0x14]
mov edi, esi
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [edx + 3], ebx
mov dword [esp], esi
mov esi, ebp
jmp 0x442ad0
mov dword [esp], ebp
mov ebp, dword [esp + 0x2b0]
mov dword [esp + 0xc], 0x17628640
lea eax, [esp + 0x10]
mov byte [esp + 0x10], 0x74
mov dword [esp + 0x11], 0
mov word [esp + 0x15], 0
xor edi, edi
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
xor edx, 0xc2
mov ecx, edi
and ecx, 0x1a
sub ecx, edx
xor cl, byte [esp + esi + 0xc]
add cl, 0xca
mov byte [esp + esi + 0xc], cl
inc esi
add edi, 2
cmp esi, 0xb
jne 0x442c20
lea edx, [esp + 0xc]
mov ebx, dword [esp]
mov edi, ebx
mov ecx, 1
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea esi, [ebx + 4]
mov edi, esi
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x93], 0xc3fc8948
mov dword [esp + 0x90], 0x48d2ff41
mov dword [esp + 0x84], 0xba49c031
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebp
lea eax, [esp + 0x84]
mov edi, esi
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [ebx + 0x14]
lea eax, [esp + 0x94]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
movzx eax, byte [esp + 0x96]
mov byte [ebx + 0x16], al
lea ecx, [esp + 0x98]
mov eax, ecx
neg eax
lea ebp, [ebx + eax]
add ebp, 0x17
sub ebx, ecx
mov dword [esp + 4], 0
add ebx, 0x71
mov dword [esp + 0x70], ebx
mov dword [esp + 0xc], 0xd4d5cacb
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov eax, 0xae
mov ecx, 0x51
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xa2]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x9a
mov byte [esp + eax - 0xa2], dl
inc eax
dec ecx
cmp eax, 0xb5
jne 0x442d10
mov esi, dword [esp + 0xc]
mov eax, dword [0x450c18]
test eax, eax
je 0x442d90
xor ecx, ecx
mov edx, dword [0x450c1c]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x3e416e49
je 0x442d60
inc ecx
cmp eax, ecx
jne 0x442d50
jmp 0x442d90
mov eax, dword [edx + ecx*8 + 4]
cmp eax, esi
je 0x442d90
lea ecx, [esp + 0x70]
lea edx, [esp + 4]
push 0x40
push 0x3000
push ecx
push 0
push edx
push 0xffffffffffffffff
push 6
push dword [0x450c20]
push eax
call fcn.00440770
add esp, 0x24
mov esi, eax
test esi, esi
js 0x443020
mov dword [esp + 0xc], 0xcf399ccb
mov dword [esp + 0x10], 0xe5ad96c9
mov dword [esp + 0x14], 0xc1ea2869
mov dword [esp + 0x18], 0xd5dadbd8
mov dword [esp + 0x1c], 0xb966a3c
mov dword [esp + 0x20], 0x76eac76d
mov dword [esp + 0x24], 0xf50cb6ae
mov dword [esp + 0x28], 0xc5cacb05
mov dword [esp + 0x2c], 0xf7dec57f
mov dword [esp + 0x30], 0x63c2c3c0
mov dword [esp + 0x34], 0x8a489448
mov dword [esp + 0x38], 0x14d68745
mov dword [esp + 0x3c], 0xc9b41012
mov dword [esp + 0x40], 0x313646f0
mov dword [esp + 0x44], 0x3a1635ed
mov dword [esp + 0x48], 0x8beb02a8
mov dword [esp + 0x4c], 0x1d9f1705
mov dword [esp + 0x50], 0x9d3fdf3c
mov dword [esp + 0x54], 0x5d259f9c
mov dword [esp + 0x58], 0xd7216344
mov dword [esp + 0x5c], 0xd26ed7b7
mov dword [esp + 0x60], 0x5993b38a
lea esi, [esp + 0x64]
mov word [esp + 0x64], 0x8f50
mov word [esp + 0x6a], 0
mov dword [esp + 0x66], 0
mov eax, 0x79bb37f9
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x79bb37ed]
lea edx, [eax - 0x79bb3700]
and edx, ecx
or ecx, eax
xor ecx, edx
mov edx, ecx
and edx, 0x20
mov edi, ecx
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, edx
or edx, 2
imul edx, edi
xor ecx, 0x22
add ecx, ebx
add ecx, edx
inc cl
mov byte [esp + eax - 0x79bb37ed], cl
inc eax
cmp eax, 0x79bb3859
jne 0x442e70
mov eax, dword [esp + 4]
lea edx, [esp + 0xc]
mov ebx, edx
mov edi, eax
mov ecx, 0x16
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [eax + 0x58]
xor ebx, ebx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
movzx ecx, byte [esp + 0x64]
mov byte [eax + 0x58], cl
mov eax, dword [esp + 4]
mov dword [esp + 0xc], 0x57564991
nop
nop
nop
mov ecx, ebx
add cl, 0xe
xor cl, byte [esp + ebx + 0xc]
add cl, 0xba
mov byte [esp + ebx + 0xc], cl
inc ebx
cmp ebx, 4
jne 0x442ef0
add eax, dword [esp + 0xc]
mov ecx, ebp
shr ecx, 2
lea esi, [esp + 0x98]
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov ecx, ebp
and ecx, 0xfffffffc
add eax, ecx
lea esi, [esp + ecx]
add esi, 0x98
mov ecx, ebp
shr ecx, 1
and ecx, 1
mov ebx, esi
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, ebp
test bl, 1
je 0x442f51
and ebx, 2
movzx ecx, byte [esi + ebx]
mov byte [eax + ebx], cl
mov esi, dword [esp + 4]
mov dword [esp + 0xc], 0xf0e09e1
xor ecx, ecx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
and al, 0xfc
add al, cl
xor al, byte [edx]
xor al, 0x42
add al, 0xb6
mov byte [edx], al
inc edx
add ebx, 2
inc cl
cmp ebx, 8
jne 0x442f70
mov eax, dword [esp + 0xc]
add eax, esi
push dword [esp + 0x2b4]
push eax
call esi
mov esi, eax
mov edi, edx
mov dword [esp + 0x6c], 0
mov dword [esp + 0xc], 0xd4d5cacb
mov word [esp + 0x10], 0
mov byte [esp + 0x12], 0
mov eax, 0xae
mov ecx, 0x51
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0xa2]
mov edx, ecx
xor edx, eax
and edx, ebx
xor edx, eax
add dl, 0x9a
mov byte [esp + eax - 0xa2], dl
inc eax
dec ecx
cmp eax, 0xb5
jne 0x442fd0
mov eax, dword [0x450c18]
test eax, eax
je 0x443051
mov ecx, dword [esp + 0xc]
xor edx, edx
mov ebx, dword [0x450c1c]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x16194952
je 0x443027
inc edx
cmp eax, edx
jne 0x443010
jmp 0x443051
mov edi, esi
sar edi, 0x1f
jmp 0x443051
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
je 0x443051
lea ecx, [esp + 0x6c]
lea edx, [esp + 4]
push 0x8000
push ecx
push edx
push 0xffffffffffffffff
push 4
push dword [0x450c20]
push eax
call fcn.00440770
add esp, 0x1c
mov eax, esi
mov edx, edi
add esp, 0x298
pop esi
pop edi
pop ebx
pop ebp
ret 0x10