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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x40
mov esi, esp
mov eax, dword [0x440a78]
test eax, eax
jne 0x40a4af
movzx eax, byte [0x438474]
xor al, 0xf0
mov byte [0x43847d], al
movzx eax, byte [0x438475]
xor al, 0x79
mov byte [0x43847e], al
movzx eax, byte [0x438476]
xor al, 0x34
mov byte [0x43847f], al
movzx eax, byte [0x438477]
mov ecx, eax
add cl, al
and cl, 0xf0
sub al, cl
add al, 0x78
mov byte [0x438480], al
movzx eax, byte [0x438478]
xor al, 0x1d
mov byte [str._t9q], al
movzx eax, byte [0x438479]
xor al, 0x85
mov byte [0x438482], al
movzx eax, byte [0x43847a]
xor al, 0xda
mov byte [0x438483], al
movzx eax, byte [0x43847b]
xor al, 0xb3
mov byte [0x438484], al
movzx eax, byte [0x43847c]
xor al, 0xf1
mov byte [0x438485], al
movzx eax, byte [str.Zjew]
xor al, 0x34
mov byte [0x438460], al
movzx eax, byte [0x438441]
xor al, 0xb
mov byte [0x438461], al
movzx eax, byte [0x438442]
mov ecx, eax
not cl
or al, 0x89
or cl, 0x76
and cl, al
not cl
mov byte [0x438462], cl
movzx eax, byte [0x438443]
xor al, 0x12
mov byte [0x438463], al
movzx eax, byte [0x438444]
xor al, 0xc3
mov byte [0x438464], al
movzx eax, byte [0x438445]
mov ecx, eax
not cl
or cl, 0x80
or al, 0x7f
and al, cl
mov byte [0x438465], al
movzx eax, byte [0x438446]
xor al, 0xbf
mov byte [0x438466], al
movzx eax, byte [0x438447]
xor al, 0x1e
mov byte [0x438467], al
movzx eax, byte [0x438448]
xor al, 0xb8
mov byte [0x438468], al
movzx eax, byte [0x438449]
xor al, 0x1a
mov byte [0x438469], al
movzx eax, byte [0x43844a]
xor al, 0x53
mov byte [0x43846a], al
movzx eax, byte [0x43844b]
xor al, 0xa3
mov byte [0x43846b], al
movzx eax, byte [0x43844c]
xor al, 0x3e
mov byte [0x43846c], al
movzx eax, byte [0x43844d]
xor al, 0xc0
mov byte [0x43846d], al
movzx eax, byte [0x43844e]
xor al, 0xe5
mov byte [0x43846e], al
movzx eax, byte [0x43844f]
xor al, 0x84
mov byte [0x43846f], al
movzx eax, byte [0x438450]
xor al, 0x10
mov byte [0x438470], al
movzx eax, byte [0x438451]
xor al, 0xc4
mov byte [0x438471], al
movzx eax, byte [0x438452]
xor al, 0x35
mov byte [0x438472], al
movzx eax, byte [0x438453]
xor al, 0x14
mov byte [0x438473], al
mov dword [0x440a78], 1
push eax
mov edx, esp
push eax
mov dword [esi + 0x14], esp
sub esp, 0xc
mov ebx, esp
push eax
mov dword [esi + 0x18], esp
sub esp, 0x80
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
push eax
sub esp, 0x1c
mov ecx, esp
and ecx, 0xfffffff0
mov esp, ecx
push eax
sub esp, 0x1c
mov edi, esp
and edi, 0xfffffff0
mov dword [esi + 0xc], edi
mov esp, edi
push eax
sub esp, 0x1c
mov edi, esp
and edi, 0xfffffff0
mov dword [esi + 0x10], edi
mov esp, edi
push eax
sub esp, 0x10
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x1c], esp
sub esp, 0x20
mov edi, esp
and edi, 0xfffffff0
mov dword [esi + 0x20], edi
mov esp, edi
mov dword [esi + 0x2c], edx
mov edi, dword [ebp + 8]
mov dword [edx], edi
mov edx, dword [esi + 0x14]
mov byte [edx], 0
movzx edx, byte [0x438485]
mov byte [ebx + 8], dl
mov edx, dword [str._t9q]
mov dword [ebx + 4], edx
mov edx, dword [0x43847d]
mov dword [esi + 0x28], ebx
mov dword [ebx], edx
mov dword [eax], 0x73816dab
mov dword [eax + 4], 0x77827182
mov dword [eax + 8], 0x7b887591
mov dword [eax + 0xc], 0x7f53798c
mov dword [eax + 0x10], 0x3fb7da8
mov dword [eax + 0x14], 0x7e301f0
mov dword [eax + 0x18], 0xb2a053a
mov dword [eax + 0x1c], 0xffe09e9
mov dword [eax + 0x20], 0x13fe0dfc
mov dword [eax + 0x24], 0x17f111f9
mov dword [eax + 0x28], 0x1bee15f5
mov dword [eax + 0x2c], 0x1fed19f1
mov dword [eax + 0x30], 0x23111dee
mov dword [eax + 0x34], 0x270b21d8
mov dword [eax + 0x38], 0x2bd125df
mov dword [eax + 0x3c], 0x2f0329d3
mov dword [eax + 0x40], 0x33c12dc6
mov dword [eax + 0x44], 0x37db31c6
mov dword [eax + 0x48], 0x3bcf3519
mov dword [eax + 0x4c], 0x3fd239ce
mov dword [eax + 0x50], 0xc3303dd9
mov dword [eax + 0x54], 0xc735c127
mov dword [eax + 0x58], 0xcb2fc520
mov dword [eax + 0x5c], 0xcfc3c92c
mov dword [eax + 0x60], 0xd3d2cdc2
mov word [eax + 0x74], 0
mov dword [eax + 0x70], 0
mov dword [eax + 0x6c], 0
mov dword [eax + 0x68], 0
mov dword [eax + 0x64], 0
mov dword [esi + 8], 0
mov edx, dword [esi + 8]
cmp edx, 0x75
ja 0x40a661
mov edi, dword [esi + 8]
mov edx, dword [esi + 8]
movzx ebx, byte [eax + edx]
lea edx, [edi + ebx]
add edx, 0x325991ae
add edi, 0x325991ae
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x3e
mov edi, dword [esi + 8]
mov byte [eax + edi], dl
mov edx, dword [esi + 8]
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
mov dword [esi + 8], edx
mov edx, dword [esi + 8]
cmp edx, 0x76
jb 0x40a620
mov dword [ecx], 0x6383614f
mov dword [ecx + 4], 0x678f65f4
mov word [ecx + 8], 0x6968
mov dword [ecx + 0xa], 0
mov dword [ecx + 0xe], 0
mov dword [ecx + 0x12], 0
mov dword [ecx + 0x16], 0
mov dword [ecx + 0x1a], 0
mov word [ecx + 0x1e], 0
mov dword [esi + 8], 0
mov edx, dword [esi + 8]
cmp edx, 0x1f
ja 0x40a6e3
nop
nop
nop
nop
mov edi, dword [esi + 8]
mov edx, dword [esi + 8]
movzx ebx, byte [ecx + edx]
lea edx, [edi + ebx]
add edx, 0x5915f1b0
add edi, 0x5915f1b0
and edi, ebx
add edi, edi
sub edx, edi
add dl, 0x30
mov edi, dword [esi + 8]
mov byte [ecx + edi], dl
inc dword [esi + 8]
mov edx, dword [esi + 8]
cmp edx, 0x20
jb 0x40a6b0
push 0
mov edi, dword [esi + 0x18]
push edi
push 8
push dword [esi + 0x28]
push eax
push ecx
mov eax, dword [esi + 0x2c]
push dword [eax]
call fcn.0040aa50
add esp, 0x1c
test al, al
mov ebx, dword [esi + 0xc]
je 0x40a9fd
mov dword [ebx], 0
mov byte [ebx + 0x18], 0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov word [ebx], 0x1427
mov byte [ebx + 2], 0xb8
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x18
ja 0x40a781
nop
nop
nop
mov ecx, dword [esi + 8]
mov eax, dword [esi + 8]
movzx edx, byte [ebx + eax]
lea eax, [ecx + edx]
add eax, 0x7aeeeb47
add ecx, 0x7aeeeb47
and ecx, edx
add ecx, ecx
sub eax, ecx
add al, 0xf
mov ecx, dword [esi + 8]
mov byte [ebx + ecx], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x19
jb 0x40a750
mov ecx, dword [edi]
xor eax, eax
mov ebx, dword [esi + 0x10]
mov edi, dword [esi + 0xc]
nop
nop
nop
nop
nop
movzx edx, byte [ecx + eax]
mov dh, byte [edi + eax]
test dl, dl
je 0x40a7a0
inc eax
cmp dl, dh
je 0x40a790
cmp dl, dh
jne 0x40a7af
mov eax, dword [esi + 0x14]
mov byte [eax], 1
jmp 0x40a9f4
mov dword [ebx], 0x7111403
mov dword [ebx + 4], 0xb7080a0d
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0xf], 0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x12
ja 0x40a808
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [ebx + ecx]
lea edx, [eax + 0x18]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add al, 0x70
mov ecx, dword [esi + 8]
mov byte [ebx + ecx], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x13
jb 0x40a7e0
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
movzx eax, byte [ebx]
mov edi, ecx
test al, al
je 0x40a83f
mov edx, dword [esi + 0x10]
mov ebx, ecx
mov edi, ecx
jmp 0x40a82d
inc edi
mov ebx, edi
mov edx, dword [esi + 0x10]
movzx eax, byte [edx]
test al, al
je 0x40a83f
mov ah, byte [ebx]
test ah, ah
je 0x40a9f4
cmp ah, al
jne 0x40a820
inc ebx
inc edx
jmp 0x40a826
test edi, edi
je 0x40a9f4
mov eax, dword [0x438470]
mov edx, dword [esi + 0x24]
mov dword [edx + 0x10], eax
mov eax, dword [0x43846c]
mov dword [edx + 0xc], eax
mov eax, dword [0x438468]
mov dword [edx + 8], eax
mov eax, dword [0x438464]
mov dword [edx + 4], eax
mov ebx, dword [0x438460]
mov dword [edx], ebx
test bl, bl
je 0x40a8a2
mov edi, ecx
jmp 0x40a88f
mov ecx, edi
inc ecx
mov edi, ecx
mov edx, dword [esi + 0x24]
movzx ebx, byte [edx]
test bl, bl
je 0x40a8a4
movzx eax, byte [ecx]
test al, al
je 0x40a9ef
cmp al, bl
jne 0x40a880
inc ecx
inc edx
jmp 0x40a888
mov edi, ecx
test edi, edi
je 0x40a9ef
add edi, 0x13
mov eax, dword [esi + 0x1c]
mov dword [esi + 0xc], edi
mov dword [eax], edi
mov ebx, dword [esi + 0x20]
mov dword [ebx], 0
mov word [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov word [ebx], 0x2f32
mov byte [ebx + 2], 0x6a
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x15
ja 0x40a946
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 8]
mov eax, dword [esi + 8]
movzx edi, byte [ebx + eax]
lea ecx, [edx + edi]
add ecx, 0xc95fd7f2
add edx, 0xc95fd7f2
mov eax, edi
not eax
or eax, edx
add eax, edi
and edx, edi
add edx, eax
inc edx
mov eax, ecx
not eax
and eax, edx
not edx
and edx, ecx
sub edx, eax
add dl, 0x62
mov eax, dword [esi + 8]
mov byte [ebx + eax], dl
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0x16
jb 0x40a900
movzx edx, byte [ebx]
test dl, dl
je 0x40a980
mov ecx, ebx
mov eax, dword [esi + 0xc]
mov ebx, eax
jmp 0x40a96d
inc ebx
mov eax, ebx
mov ecx, dword [esi + 0x20]
movzx edx, byte [ecx]
test dl, dl
je 0x40a985
mov edi, eax
movzx eax, byte [eax]
test al, al
je 0x40a9ef
cmp al, dl
jne 0x40a960
mov eax, edi
inc eax
inc ecx
jmp 0x40a966
mov ebx, dword [esi + 0xc]
jmp 0x40a989
test ebx, ebx
je 0x40a9ef
mov byte [0x440e8c], 1
mov eax, dword [esi + 0x1c]
mov edi, dword [eax]
mov dword [esi + 8], 0
mov ecx, 0x440e8e
mov dword [esi + 0x10], ebx
cmp ebx, edi
jbe 0x40a9e4
mov ebx, dword [esi + 0x10]
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x40a9e4
lea eax, [esi + 8]
push eax
push ebx
push edi
mov dword [esi + 0xc], ecx
call fcn.004107f0
add esp, 0xc
movzx ecx, word [esi + 8]
mov edx, dword [esi + 0xc]
mov word [edx], cx
mov ecx, dword [esi + 0xc]
add ecx, 2
cmp ecx, 0x44108c
jae 0x40a9e4
add edi, eax
cmp edi, ebx
jb 0x40a9b0
mov word [ecx], 0
mov eax, dword [esi + 0x14]
mov byte [eax], 1
mov eax, dword [esi + 0x18]
mov ecx, dword [eax]
push ecx
call fcn.0042f820
add esp, 4
mov eax, dword [esi + 0x14]
movzx eax, byte [eax]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret