Function at 0x1000ef84
Capabilities:
Encode data using xor
Get geographical location

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x1003f8f8]
sub esp, 0x38
xor edx, edx
mov ecx, edx
push ebx
push esi
mov esi, eax
push edi
or esi, 0x45823219
inc ecx
cmp word [ecx*2 + str.1_1_1_1_1014181_1D1H1L1P1T1X11_1h1l1p1t1x11], dx
jne 0x1000ef9e
cmp ecx, 0x52d
jne 0x1000efb8
xor eax, 0xc71d06ce
jmp 0x1000efbe
lea eax, [esi + 0x1c8ef8c9]
mov esi, 0x10035840
mov dword [ebp - 8], eax
lea edi, [ebp - 0x18]
mov ebx, eax
and ebx, 0x547f212b
mov eax, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x18], 0x47
jne 0x1000eff8
mov cl, 0x47
test cl, cl
je 0x1000eff8
cmp byte [ebp + eax - 0x18], dl
je 0x1000eff8
mov cl, byte [eax + 0x10035b31]
inc eax
cmp cl, byte [ebp + eax - 0x18]
je 0x1000efe1
movzx ecx, byte [eax + str.GdipSetStringFormatFlags]
movzx eax, byte [ebp + eax - 0x18]
sub ecx, eax
cmp ecx, 0x10bd
jae 0x1000f036
mov eax, dword [ebp - 8]
mov ecx, edx
or eax, 0x7e8e1ee9
add eax, 0x7def3aab
inc ecx
cmp word [ecx*2 + str.WinBioRegisterEventMonitor], dx
jne 0x1000f018
cmp ecx, 0x483
jne 0x1000f036
imul ebx, eax, 0x87560068
mov esi, str.community
lea edi, [ebp - 0x14]
lea ecx, [ebx - 0x7f4b1921]
mov eax, edx
mov dword [ebp - 8], ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x14], 0x73
jne 0x1000f09c
mov byte [ebp - 1], 0x73
xor edx, edx
mov cl, byte [ebp - 1]
test cl, cl
je 0x1000f073
cmp byte [ebp + eax - 0x14], dl
je 0x1000f073
mov cl, byte [eax + 0x10035ab1]
inc eax
cmp cl, byte [ebp + eax - 0x14]
je 0x1000f05c
mov esi, dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp esi, eax
jae 0x1000f09c
imul ecx, ebx, 0x2b37fa8c
cmp esi, 0x74b
jne 0x1000f097
add ebx, 0x5d4d329d
sub ecx, 0x57a00024
inc esi
cmp esi, eax
jb 0x1000f083
mov eax, str.WinBioRegisterEventMonitor
lea eax, [eax + 2]
xor ecx, 0x7e1dcd87
cmp word [eax], dx
jne 0x1000f0a1
mov esi, str.360buy.com
lea edi, [ebp - 0x14]
mov eax, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x14], 0x47
jne 0x1000f0ef
push 0x47
pop edx
test dl, dl
je 0x1000f0df
cmp byte [ebp + eax - 0x14], 0
je 0x1000f0df
mov dl, byte [eax + 0x10035ff1]
inc eax
cmp dl, byte [ebp + eax - 0x14]
je 0x1000f0c7
push 0
pop edx
cmp dword [ebp - 8], eax
jae 0x1000f0ef
mov ebx, ecx
and ebx, 0x5921b761
mov eax, str.GdipSetStringFormatFlags
imul ebx, ebx, 0x18acf21e
inc eax
cmp byte [eax], 0
jne 0x1000f0f4
push 8
pop ecx
mov esi, str.wxART_HELP_PAGE
lea edi, [ebp - 0x38]
rep movsd dword es:[edi], dword [esi]
mov eax, ebx
add ebx, 0x77f9f544
push 0x31
or eax, 0xd515e630
pop edi
mov dword [ebp - 8], eax
mov dword [0x1003f8f8], eax
cmp di, word [ebp - 0x38]
jne 0x1000f174
mov ecx, edx
mov esi, edx
test di, di
je 0x1000f14d
cmp word [ebp + ecx - 0x38], dx
je 0x1000f14d
inc esi
lea ecx, [esi + esi]
movzx edi, word [ecx + str.1_1_1_1_1014181_1D1H1L1P1T1X11_1h1l1p1t1x11]
cmp di, word [ebp + ecx - 0x38]
je 0x1000f12f
mov ecx, dword [ebp - 8]
cmp ecx, esi
jae 0x1000f174
cmp ecx, 0x174
jne 0x1000f162
imul eax, ebx, 0xf753a03
add eax, 0x2b8eaefd
inc ecx
mov dword [0x1003f8f8], eax
cmp ecx, esi
jb 0x1000f154
mov dword [ebp - 8], eax
mov ebx, eax
mov ecx, edx
xor ebx, 0xe06853c7
inc ecx
cmp byte [ecx + 0x10035d20], 0
jne 0x1000f17e
cmp dword [ebp - 8], ecx
jae 0x1000f193
imul ebx, eax, 0xd74562e
mov esi, str.countryestate
lea edi, [ebp - 0x18]
xor ebx, 0x5c195481
mov dword [0x1003f9dc], ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x18], 0x32
jne 0x1000f1cc
mov al, 0x32
test al, al
je 0x1000f1cc
cmp byte [ebp + edx - 0x18], 0
je 0x1000f1cc
mov al, byte [edx + 0x10035fb9]
inc edx
cmp al, byte [ebp + edx - 0x18]
je 0x1000f1b4
movzx ecx, byte [edx + str.2:3x3f4v4]
movzx eax, byte [ebp + edx - 0x18]
sub ecx, eax
cmp ecx, 0xcc4
jae 0x1000f1f3
mov ebx, dword [ebp - 8]
add ebx, 0xea14ccf4
mov dword [0x1003f9dc], ebx
jmp 0x1000f201
mov ecx, ebx
or ecx, 0xcad81bf8
mov dword [0x1003f8f8], ecx
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret