joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40adc0
Capabilities:
Clear file content

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1014
call fcn.00404730
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0
mov eax, dword [0x4170bc]
cmp ebx, eax
jae 0x40adfb
push ebx
pop eax
and eax, 0x1f
push ebx
pop edx
sar edx, 5
mov edx, dword [edx*4 + 0x4170c0]
test byte [edx + eax*8 + 4], 1
jne 0x40ae0d
mov dword [0x415c84], 9
or eax, 0xffffffff
jmp 0x40af32
push 1
push 0
push ebx
call fcn.00409fd0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp eax, 0xffffffff
je 0x40ae37
push 2
push 0
push ebx
call fcn.00409fd0
add esp, 0xc
mov dword [ebp - 8], eax
cmp eax, 0xffffffff
jne 0x40ae3f
or eax, 0xffffffff
jmp 0x40af32
mov eax, dword [ebp + 0xc]
mov esi, eax
sub esi, dword [ebp - 8]
test esi, esi
jle 0x40aee4
lea edx, [ebp - 0x1010]
mov ecx, 0x1000
sub eax, eax
push edi
mov edi, edx
rep stosb byte es:[edi], al
pop edi
push edx
pop eax
push 0x8000
push ebx
call fcn.0040b330
add esp, 8
mov dword [ebp - 0x10], eax
mov eax, esi
cmp eax, 0x1000
jb 0x40ae8a
mov dword [ebp - 0x1014], 0x1000
jmp 0x40ae92
mov eax, esi
mov dword [ebp - 0x1014], eax
mov eax, dword [ebp - 0x1014]
push eax
lea eax, [ebp - 0x1010]
push eax
push ebx
call fcn.004086d0
add esp, 0xc
push eax
pop edi
cmp eax, 0xffffffff
jne 0x40aecb
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x40aec5
mov dword [0x415c84], 0xd
or dword [ebp - 4], 0xffffffff
jmp 0x40aed5
push esi
pop eax
sub eax, edi
mov esi, eax
or eax, eax
jg 0x40ae75
mov eax, dword [ebp - 0x10]
push eax
push ebx
call fcn.0040b330
add esp, 8
jmp 0x40af20
test esi, esi
jge 0x40af20
push 0
mov eax, dword [ebp + 0xc]
push eax
push ebx
call fcn.00409fd0
add esp, 0xc
push ebx
call fcn.00408b00
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
or eax, eax
setne al
and eax, 1
dec eax
mov dword [ebp - 4], eax
cmp eax, 0xffffffff
jne 0x40af20
mov dword [0x415c84], 0xd
push 0
mov eax, dword [ebp - 0xc]
push eax
push ebx
call fcn.00409fd0
add esp, 0xc
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x715712b0
nop
nop
nop
test eax, eax
nop
je 0x43004e
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
cmp eax, ebx
nop
jne 0x430024
nop
nop
nop
nop
nop
mov eax, section..data
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x5f7f1839
nop
nop
test eax, eax
nop
nop
nop
je 0x430084
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
add eax, 4
nop
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x401219
Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
nop
nop
push 4
nop
nop
nop
pop edi
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
nop
je 0x432072
mov ebx, 0x40c7d0
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x2626665f
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
loop 0x432060
nop
nop
mov eax, section..text_1
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x4320d2
nop
nop
mov ebx, 0x42f314
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
push eax
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0xfc32b2b
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4320c0
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x431219
Function at 0x430003
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
call 0x43000c
pop eax
nop
nop
nop
nop
nop
add eax, 0x403d6a
nop
sub eax, 0x403d10
nop
nop
nop
nop
nop
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
nop
xor dword [ebx], edx
nop
nop
add ebx, 4
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x430030
nop
nop
nop
nop
nop
nop
nop
add eax, 0xc
cmp dword [eax], 0
nop
nop
nop
nop
nop
nop
jne 0x43001e
nop
nop
nop
nop
popal
nop
nop
jmp loc.00401219
Function at 0x408d10
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x408e41
sub esp, 0x18
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
cmp dword [ecx], eax
jne 0x408e2a
mov dword [esp + 0x10], eax
mov dword [esp], ecx
call fcn.0042d920
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
test byte [ecx], al
mov dword [esp], ecx
mov dword [esp + 4], 0
mov edx, dword [esp + 0x14]
mov dword [esp + 8], edx
call fcn.00402020
movzx eax, byte [esp + 0xc]
test al, al
je 0x408e07
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
mov byte [ecx + 0x85], 1
mov ecx, dword [0xb3b080]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x408dcb
jmp 0x408df1
mov dword [esp], 0x989680
mov dword [esp + 4], 0
call fcn.0042d6b0
mov eax, dword [0xb3b080]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00459010
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
call fcn.00402040
mov eax, dword [esp + 4]
test eax, eax
je 0x408d9f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov byte [eax + 0x85], 0
add esp, 0x18
ret
mov dword [esp], 0xffffffff
mov dword [esp + 4], 0xffffffff
call fcn.0042d6b0
jmp 0x408ddf
mov eax, dword [esp + 0x1c]
cmp dword [eax], 1
jne 0x408e14
add esp, 0x18
ret
lea eax, [0x7f3cc6]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.00430c90
lea eax, [0x7ecb40]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.00408d10
Function at 0x40abb0
Capabilities:
Decompress data using quicklz

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40ad7f
sub esp, 0x34
mov eax, dword [esp + 0x38]
cmp eax, 0x7000000
jle 0x40ad52
mov eax, 0x7000000
mov dword [esp + 0x38], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x94]
mov dword [ecx + 0x90], ebx
mov ebp, edx
shl edx, 0x11
xor edx, ebp
mov ebp, ebx
xor ebx, edx
shr edx, 7
xor edx, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, edx
mov dword [ecx + 0x94], ebp
lea ecx, [ebp + ebx]
and ecx, 0x3ffffff
inc ecx
mov dword [esp], ecx
call fcn.004595d0
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x24], xmm0
mov eax, dword [esp + 0x28]
mov ecx, eax
shr eax, 0x14
and eax, 0x7ff
mov edx, eax
add eax, 0xfffffc01
mov ebx, ecx
shr ecx, 0xf
and ecx, 0x1f
mov ebp, ecx
add ecx, 1
mov esi, 0
adc esi, 0
mov edi, dword [esp + 0x24]
shr edi, 0x1b
shl ebx, 5
or edi, ebx
test esi, esi
jne 0x40ad72
cmp ecx, 0x21
jae 0x40ad66
mov dword [esp + 0x10], edi
lea ebx, [0xb0cba0]
movsd xmm0, qword [ebx + ebp*8]
movsd qword [esp + 0x14], xmm0
movsd xmm1, qword [ebx + ecx*8]
movsd qword [esp + 0x1c], xmm1
mov dword [esp], eax
add edx, 0xfffffc01
mov eax, 0xffffffff
adc eax, 0
mov dword [esp + 4], eax
call fcn.00454180
mov eax, dword [esp + 0x10]
and eax, 0xfffff
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x2c], xmm0
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00454270
movsd xmm0, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x14]
addsd xmm0, xmm1
movsd xmm2, qword [esp + 0x1c]
subsd xmm2, xmm1
mulsd xmm2, qword [esp + 8]
movsd xmm1, qword [0x872c98]
mulsd xmm1, xmm2
addsd xmm0, xmm1
movsd xmm1, qword [0x872d18]
subsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x40ad2d
xorps xmm0, xmm0
mov eax, dword [esp + 0x38]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x872d88]
mulsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
inc eax
mov dword [esp + 0x3c], eax
add esp, 0x34
ret
test eax, eax
jne 0x40abdd
mov dword [esp + 0x3c], 0
add esp, 0x34
ret
mov eax, ecx
mov ecx, 0x21
call fcn.004596b0
mov eax, ecx
mov ecx, 0x21
call fcn.00459780
nop
call fcn.00457de0
jmp fcn.0040abb0
Function at 0x40baf0
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40bcef
sub esp, 0x18
mov eax, dword [esp + 0x20]
test eax, eax
je 0x40bc9e
mov ecx, dword [eax]
test ecx, ecx
je 0x40bc9e
movzx ecx, byte [eax + 4]
test cl, 4
jne 0x40bcd8
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [eax + 8]
mov ebp, dword [esp + 0x24]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
movzx ebx, byte [ecx + 5]
mov edx, ecx
mov ecx, ebx
mov ebp, 1
shl ebp, cl
lea ecx, [ebp - 1]
mov ebx, ecx
and ecx, eax
mov ebp, dword [esp + 0x1c]
movzx esi, word [ebp + 0x32]
imul ecx, esi
add ecx, dword [edx + 0xc]
mov edi, dword [edx + 0x10]
test edi, edi
je 0x40bba9
movzx ebp, byte [edx + 4]
xchg ebp, eax
test al, 8
xchg ebp, eax
je 0x40bc97
and ebx, eax
imul esi, ebx
lea ebx, [edi + esi]
movzx ebp, byte [edi + esi]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jbe 0x40bc90
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jae 0x40bc90
shr eax, 0x18
cmp al, 5
jae 0x40bbb4
add eax, 5
mov byte [esp + 0xf], al
jmp 0x40bc7d
inc edx
cmp edx, 8
jae 0x40bc6e
movzx ebx, byte [edx + ecx]
cmp al, bl
je 0x40bbe6
test bl, bl
jne 0x40bbbd
lea eax, [0xb540e0]
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 0
add esp, 0x18
ret
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x1c]
movzx ebp, byte [ebx + 0x30]
imul ebp, edx
lea ecx, [ebp + ecx + 8]
mov ebp, dword [ebx + 0x34]
test ebp, 1
je 0x40bc06
mov ecx, dword [ecx]
mov eax, dword [ebx + 0x20]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov ecx, dword [edx]
call ecx
movzx eax, byte [esp + 8]
test al, al
jne 0x40bc33
movzx eax, byte [esp + 0xf]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
jmp 0x40bbbd
mov eax, dword [esp + 0x1c]
movzx ecx, byte [eax + 0x30]
movzx edx, byte [eax + 0x31]
mov ebx, dword [esp + 0x10]
imul edx, ebx
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x14]
lea ecx, [edx + ecx + 8]
mov eax, dword [eax + 0x34]
test eax, 2
je 0x40bc6a
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 1
add esp, 0x18
ret
mov eax, ecx
jmp 0x40bc5d
mov ebx, dword [esp + 0x1c]
movzx ebp, word [ebx + 0x32]
lea ebp, [ecx + ebp - 4]
mov ecx, dword [ebp]
test ecx, ecx
je 0x40bbd3
mov dword [esp + 0x14], ecx
xor edx, edx
jmp 0x40bbbe
mov ecx, ebx
jmp 0x40bba9
shr ebx, 1
jmp 0x40bb87
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x34]
test ecx, 0x10
jne 0x40bcc0
lea eax, [0xb540e0]
mov dword [esp + 0x28], eax
mov byte [esp + 0x2c], 0
add esp, 0x18
ret
mov edx, dword [eax + 0x2c]
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [edx]
call eax
jmp 0x40bcad
lea eax, [0x7f6107]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.0040baf0
Function at 0x40dad0
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40dc13
sub esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40dbee
mov ecx, dword [eax]
test ecx, ecx
je 0x40dbee
movzx ecx, byte [eax + 4]
test cl, 4
jne 0x40dbfc
movzx ecx, byte [eax + 5]
test cl, cl
jne 0x40db74
mov eax, dword [eax + 0xc]
jmp 0x40db5a
inc edx
add ecx, 4
cmp edx, 8
jae 0x40db4a
mov ebx, dword [esp + 0x18]
cmp dword [ecx], ebx
jne 0x40db19
movzx ebx, byte [edx + eax]
cmp bl, 1
jbe 0x40db19
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + 0x31]
imul edx, ecx
lea eax, [edx + eax + 0x28]
mov dword [esp + 0x1c], eax
add esp, 0xc
ret
mov ecx, dword [esp + 0x10]
movzx edx, word [ecx + 0x32]
lea edx, [eax + edx - 4]
test byte [ecx], al
mov eax, dword [edx]
test eax, eax
je 0x40db66
nop
lea ecx, [eax + 8]
xor edx, edx
jmp 0x40db1d
lea eax, [0xb540e0]
mov dword [esp + 0x1c], eax
add esp, 0xc
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [eax + 8]
lea ebp, [esp + 0x18]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
movzx ebx, byte [ecx + 5]
mov edx, ecx
mov ecx, ebx
mov ebp, 1
shl ebp, cl
lea ecx, [ebp - 1]
mov ebx, ecx
and ecx, eax
mov ebp, dword [esp + 0x10]
movzx esi, word [ebp + 0x32]
imul ecx, esi
mov edi, dword [edx + 0x10]
add ecx, dword [edx + 0xc]
test edi, edi
je 0x40dbdf
movzx edx, byte [edx + 4]
test dl, 8
je 0x40dbea
and ebx, eax
imul esi, ebx
lea eax, [edi + esi]
movzx edx, byte [edi + esi]
cmp dl, 1
jbe 0x40dbe6
cmp dl, 5
jae 0x40dbe6
mov eax, ecx
jmp 0x40db5a
mov ecx, eax
jmp 0x40dbdf
shr ebx, 1
jmp 0x40dbc9
lea eax, [0xb540e0]
mov dword [esp + 0x1c], eax
add esp, 0xc
ret
lea eax, [0x7f6107]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.0040dad0
Function at 0x40dc20
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40dd72
sub esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40dd48
mov ecx, dword [eax]
test ecx, ecx
je 0x40dd48
movzx ecx, byte [eax + 4]
test cl, 4
jne 0x40dd5b
movzx ecx, byte [eax + 5]
test cl, cl
jne 0x40dcce
mov eax, dword [eax + 0xc]
jmp 0x40dcaf
inc edx
add ecx, 4
cmp edx, 8
jae 0x40dc9f
mov ebx, dword [esp + 0x18]
cmp dword [ecx], ebx
jne 0x40dc69
movzx ebx, byte [edx + eax]
cmp bl, 1
jbe 0x40dc69
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + 0x31]
imul edx, ecx
lea eax, [edx + eax + 0x28]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 1
add esp, 0xc
ret
mov ecx, dword [esp + 0x10]
movzx edx, word [ecx + 0x32]
lea edx, [eax + edx - 4]
test byte [ecx], al
mov eax, dword [edx]
test eax, eax
je 0x40dcbb
nop
lea ecx, [eax + 8]
xor edx, edx
jmp 0x40dc6d
lea eax, [0xb540e0]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
add esp, 0xc
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [eax + 8]
lea ebp, [esp + 0x18]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
movzx ebx, byte [ecx + 5]
mov edx, ecx
mov ecx, ebx
mov ebp, 1
shl ebp, cl
lea ecx, [ebp - 1]
mov ebx, ecx
and ecx, eax
mov ebp, dword [esp + 0x10]
movzx esi, word [ebp + 0x32]
imul ecx, esi
mov edi, dword [edx + 0x10]
add ecx, dword [edx + 0xc]
test edi, edi
je 0x40dd39
movzx edx, byte [edx + 4]
test dl, 8
je 0x40dd44
and ebx, eax
imul esi, ebx
lea eax, [edi + esi]
movzx edx, byte [edi + esi]
cmp dl, 1
jbe 0x40dd40
cmp dl, 5
jae 0x40dd40
mov eax, ecx
jmp 0x40dcaf
mov ecx, eax
jmp 0x40dd39
shr ebx, 1
jmp 0x40dd23
lea eax, [0xb540e0]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
add esp, 0xc
ret
lea eax, [0x7f6107]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.0040dc20
Function at 0x40ea60
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40ebc7
sub esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
je 0x40eb9d
mov ecx, dword [eax]
test ecx, ecx
je 0x40eb9d
movzx ecx, byte [eax + 4]
test cl, 4
jne 0x40ebb0
movzx ecx, byte [eax + 5]
test cl, cl
jne 0x40eb23
mov eax, dword [eax + 0xc]
jmp 0x40eb04
inc edx
add ecx, 8
cmp edx, 8
jae 0x40eaf4
mov ebx, dword [esp + 0x1c]
cmp dword [ecx + 4], ebx
sete bl
mov ebp, dword [esp + 0x18]
cmp dword [ecx], ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebx, ebp
test bl, bl
je 0x40eaa9
movzx ebx, byte [edx + eax]
cmp bl, 1
jbe 0x40eaa9
mov ecx, dword [esp + 0x10]
movzx ecx, byte [ecx + 0x31]
imul edx, ecx
lea eax, [edx + eax + 0x48]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], 1
add esp, 0xc
ret
mov ecx, dword [esp + 0x10]
movzx edx, word [ecx + 0x32]
lea edx, [eax + edx - 4]
test byte [ecx], al
mov eax, dword [edx]
test eax, eax
je 0x40eb10
nop
lea ecx, [eax + 8]
xor edx, edx
jmp 0x40eaad
lea eax, [0xb540e0]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], 0
add esp, 0xc
ret
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x2c]
mov ebx, dword [eax + 8]
lea ebp, [esp + 0x18]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
movzx ebx, byte [ecx + 5]
mov edx, ecx
mov ecx, ebx
mov ebp, 1
shl ebp, cl
lea ecx, [ebp - 1]
mov ebx, ecx
and ecx, eax
mov ebp, dword [esp + 0x10]
movzx esi, word [ebp + 0x32]
imul ecx, esi
mov edi, dword [edx + 0x10]
add ecx, dword [edx + 0xc]
test edi, edi
je 0x40eb8e
movzx edx, byte [edx + 4]
test dl, 8
je 0x40eb99
and ebx, eax
imul esi, ebx
lea eax, [edi + esi]
movzx edx, byte [edi + esi]
cmp dl, 1
jbe 0x40eb95
cmp dl, 5
jae 0x40eb95
mov eax, ecx
jmp 0x40eb04
mov ecx, eax
jmp 0x40eb8e
shr ebx, 1
jmp 0x40eb78
lea eax, [0xb540e0]
mov dword [esp + 0x20], eax
mov byte [esp + 0x24], 0
add esp, 0xc
ret
lea eax, [0x7f6107]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.0040ea60
Function at 0x410fd0
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x411203
sub esp, 0x1c
call fcn.00432510
call fcn.00432510
lea eax, [0x7eb55e]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00432db0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432c80
call fcn.00432580
mov eax, dword [esp + 0x20]
test byte [eax], al
lea ecx, [eax + 0x3b]
mov dword [esp], ecx
call fcn.00401ff0
movzx eax, byte [esp + 4]
mov byte [esp + 0x13], al
cmp al, 1
je 0x4111b0
call fcn.00432510
lea eax, [0x7ece85]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00432db0
call fcn.00432580
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x44]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], eax
call fcn.00432510
lea eax, [0x7e77a9]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00432db0
mov eax, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432c80
lea eax, [0x7e6ae7]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.00432db0
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432c80
lea eax, [0x7e6af3]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.00432db0
movzx eax, byte [esp + 0x13]
movzx eax, al
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432ac0
call fcn.00432730
call fcn.00432580
mov eax, dword [esp + 0x28]
test eax, eax
je 0x4111d5
call fcn.00432510
lea eax, [0x7f4963]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00432db0
mov eax, dword [esp + 0x28]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432c80
lea eax, [0x7e319e]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.00432db0
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432c80
lea eax, [0x7e3209]
mov dword [esp], eax
mov dword [esp + 4], 2
call fcn.00432db0
call fcn.00432580
lea eax, [0x7e3eb6]
mov dword [esp], eax
mov dword [esp + 4], 6
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.0041ce60
jmp 0x4111d5
call fcn.00432510
lea eax, [0x7f0aee]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00432db0
call fcn.00432580
jmp 0x411065
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov byte [eax + 0x99], 2
lea eax, [0x7fe276]
mov dword [esp], eax
mov dword [esp + 4], 0x3e
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.00410fd0
Function at 0x4137d0
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4138bd
sub esp, 0x10
mov eax, dword [0xb44d88]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x358]
cmp edx, eax
je 0x413837
lea ebx, [eax - 2]
cmp edx, ebx
jne 0x41383b
mov dword [esp], ecx
call fcn.00413730
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004442a0
mov eax, dword [esp + 0x14]
add eax, 0x358
mov dword [esp], eax
mov eax, dword [0xb44d88]
mov dword [esp + 4], eax
call fcn.004021b0
add esp, 0x10
ret
add esp, 0x10
ret
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00432510
lea eax, [0x7e7ec5]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00432db0
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432ac0
lea eax, [0x7f4189]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
call fcn.00432db0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432ac0
call fcn.00432730
call fcn.00432580
lea eax, [0x7e7147]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.004137d0

Function at 0x4141a0
Capabilities:
Get geographical location

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4142ec
sub esp, 0x24
mov eax, dword [sym.imp.kernel32.dll_VirtualFree]
mov dword [esp], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x4000
call fcn.0042df90
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x414262
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x414219
shr ecx, 1
and ecx, 0xfffff000
mov dword [esp + 0x14], ecx
cmp ecx, 0x1000
jae 0x414229
xor ebx, ebx
test bl, bl
jne 0x4141f1
cmp ecx, 0x1000
jb 0x414266
sub edx, ecx
add eax, ecx
mov ecx, edx
test ecx, ecx
jbe 0x41425e
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov edx, ecx
jmp 0x4141f9
mov edx, dword [sym.imp.kernel32.dll_VirtualFree]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x4000
call fcn.0042df90
mov eax, dword [esp + 0x10]
test eax, eax
sete bl
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x414207
add esp, 0x24
ret
add esp, 0x24
ret
call fcn.0045a2f0
mov eax, dword [esp]
mov dword [esp + 0x1c], eax
call fcn.00432510
lea eax, [0x7f093d]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call fcn.00432db0
mov eax, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432ac0
lea eax, [0x7f0ad5]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call fcn.00432db0
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00432ac0
call fcn.00432730
call fcn.00432580
lea eax, [0x7f6506]
mov dword [esp], eax
mov dword [esp + 4], 0x21
call fcn.00430c90
nop
call fcn.00457de0
jmp fcn.004141a0