joyce8/EMBER2024-capa huggingface dataset:
Function at 0x6d6a2421
Capabilities:
Get geographical location

Disassembly:
push ebp
lea ebp, [esp - 0x7d8]
sub esp, 0x858
mov eax, dword [0x6d6e05c8]
xor eax, ebp
mov dword [ebp + 0x7d4], eax
mov eax, dword [ebp + 0x7e4]
push ebx
push esi
mov esi, dword [ebp + 0x7e0]
push edi
push esi
mov dword [ebp - 0x78], eax
call dword [sym.imp.GDI32.dll_SaveDC]
push 2
push esi
mov dword [ebp - 0x74], eax
call dword [sym.imp.GDI32.dll_SetGraphicsMode]
push 1
xor ebx, ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_ModifyWorldTransform]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x58
push esi
call edi
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
push 0x5a
push esi
fstp dword [ebp - 0x70]
call edi
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x70]
fmul qword [0x6d6d4b38]
fld qword [0x6d6d4b30]
fdiv st(1), st(0)
fxch st(1)
call fcn.6d6a8b70
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x7e8]
imul eax, eax, 0xa
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fmul dword [ebp - 0x6c]
fdivrp st(1)
call fcn.6d6a8b70
mov dword [ebp - 0x7c], eax
push 1
lea eax, [ebp - 0x80]
push eax
push esi
call dword [sym.imp.GDI32.dll_DPtoLP]
fild dword [ebp - 0x7c]
fabs
fdiv qword [0x6d6d4b28]
fadd qword [0x6d6d4b20]
call fcn.6d6a8b70
neg eax
mov dword [ebp - 0x68], eax
mov eax, 0x800
push eax
lea ecx, [ebp - 0x2c]
push ecx
push 0x1002
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
push 5
lea eax, [ebp - 0x2c]
push 0x6d6d4aec
push eax
call fcn.6d6c1900
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c]
jne 0x6d6a254b
push 0x6d6d4af4
jmp 0x6d6a254e
push dword [ebp - 0x78]
push 0x20
push eax
call fcn.6d6c1900
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push dword [ebp - 0x74]
mov edi, eax
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ecx, dword [ebp + 0x7d4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d6a886c
add ebp, 0x7d8
leave
ret 0xc
Function at 0x6d6a3e7d
Capabilities:
Get geographical location

Disassembly:
push ebp
lea ebp, [esp - 0x7d8]
sub esp, 0x858
mov eax, dword [0x6d6e05c8]
xor eax, ebp
mov dword [ebp + 0x7d4], eax
mov eax, dword [ebp + 0x7e4]
push ebx
push esi
mov esi, dword [ebp + 0x7e0]
push edi
push esi
mov dword [ebp - 0x78], eax
call dword [sym.imp.GDI32.dll_SaveDC]
push 2
push esi
mov dword [ebp - 0x74], eax
call dword [sym.imp.GDI32.dll_SetGraphicsMode]
push 1
xor ebx, ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_ModifyWorldTransform]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x58
push esi
call edi
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
push 0x5a
push esi
fstp dword [ebp - 0x70]
call edi
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x70]
fmul qword [0x6d6d4b38]
fld qword [0x6d6d4b30]
fdiv st(1), st(0)
fxch st(1)
call fcn.6d6a8b70
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x7e8]
imul eax, eax, 0xa
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fmul dword [ebp - 0x6c]
fdivrp st(1)
call fcn.6d6a8b70
mov dword [ebp - 0x7c], eax
push 1
lea eax, [ebp - 0x80]
push eax
push esi
call dword [sym.imp.GDI32.dll_DPtoLP]
fild dword [ebp - 0x7c]
fabs
fdiv qword [0x6d6d4b28]
fadd qword [0x6d6d4b20]
call fcn.6d6a8b70
neg eax
cmp dword [ebp + 0x7ec], ebx
mov dword [ebp - 0x68], eax
setne al
mov byte [ebp - 0x53], al
mov eax, 0x800
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov byte [ebp - 0x54], bl
mov dword [ebp - 0x52], ebx
mov word [ebp - 0x4e], bx
push ecx
push 0x1002
push eax
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
push 5
lea eax, [ebp - 0x2c]
push 0x6d6d4c60
push eax
call fcn.6d6c1900
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c]
jne 0x6d6a3fb7
push 0x6d6d4c68
jmp 0x6d6a3fba
push dword [ebp - 0x78]
push 0x20
push eax
call fcn.6d6c1900
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push dword [ebp - 0x74]
mov edi, eax
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ecx, dword [ebp + 0x7d4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d6a886c
add ebp, 0x7d8
leave
ret 0x10
Function at 0x6d6a504b
Capabilities:
Get geographical location

Disassembly:
push ebp
lea ebp, [esp - 0x7d8]
sub esp, 0x858
mov eax, dword [0x6d6e05c8]
xor eax, ebp
mov dword [ebp + 0x7d4], eax
mov eax, dword [ebp + 0x7e4]
push ebx
push esi
mov esi, dword [ebp + 0x7e0]
push edi
push esi
mov dword [ebp - 0x78], eax
call dword [sym.imp.GDI32.dll_SaveDC]
push 2
push esi
mov dword [ebp - 0x74], eax
call dword [sym.imp.GDI32.dll_SetGraphicsMode]
push 1
xor ebx, ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_ModifyWorldTransform]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetWindowOrgEx]
mov edi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x58
push esi
call edi
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
push 0x5a
push esi
fstp dword [ebp - 0x70]
call edi
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fstp dword [ebp - 0x6c]
fld dword [ebp - 0x70]
fmul qword [0x6d6d4b38]
fld qword [0x6d6d4b30]
fdiv st(1), st(0)
fxch st(1)
call fcn.6d6a8b70
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x7e8]
imul eax, eax, 0xa
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fmul dword [ebp - 0x6c]
fdivrp st(1)
call fcn.6d6a8b70
mov dword [ebp - 0x7c], eax
push 1
lea eax, [ebp - 0x80]
push eax
push esi
call dword [sym.imp.GDI32.dll_DPtoLP]
fild dword [ebp - 0x7c]
fabs
fdiv qword [0x6d6d4b28]
fadd qword [0x6d6d4b20]
call fcn.6d6a8b70
neg eax
cmp dword [ebp + 0x7ec], ebx
mov dword [ebp - 0x68], eax
setne al
mov byte [ebp - 0x53], al
mov eax, dword [ebp + 0x7f0]
neg eax
sbb eax, eax
and eax, 0x2bc
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x54], bl
mov dword [ebp - 0x52], ebx
mov word [ebp - 0x4e], bx
mov dword [ebp - 0x58], eax
mov eax, 0x800
push eax
lea ecx, [ebp - 0x2c]
push ecx
push 0x1002
push eax
call dword [sym.imp.kernel32.dll_GetLocaleInfoA]
push 5
lea eax, [ebp - 0x2c]
push str.Japan
push eax
call fcn.6d6c1900
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x4c]
je 0x6d6a5192
push dword [ebp - 0x78]
jmp 0x6d6a5197
push 0x6d6d4dc0
push 0x20
push eax
call fcn.6d6c1900
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push dword [ebp - 0x74]
mov edi, eax
push esi
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ecx, dword [ebp + 0x7d4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.6d6a886c
add ebp, 0x7d8
leave
ret 0x14
Function at 0x404837
Capabilities:
Get disk information

Disassembly:
mov eax, 0x429b10
call fcn.00428650
sub esp, 0x20
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
call fcn.00401f1f
mov edi, dword [sym.imp.kernel32.dll_GetLogicalDriveStringsW]
push 0
push 0
call edi
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x18], ebx
je 0x40490d
mov eax, SysReAllocString
cmp ebx, eax
ja 0x404873
mov eax, ebx
add eax, eax
push eax
call fcn.00405733
mov esi, eax
pop ecx
mov dword [ebp - 0x20], esi
and dword [ebp - 4], 0
push esi
push ebx
call edi
mov ebx, eax
xor edi, edi
cmp ebx, edi
mov dword [ebp - 0x14], ebx
je 0x404906
cmp ebx, dword [ebp - 0x18]
ja 0x404906
lea ecx, [ebp - 0x2c]
call fcn.00402679
test ebx, ebx
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], edi
jbe 0x4048ee
push 2
xor eax, eax
pop ebx
cmp word [esi + ebx - 2], 0
jne 0x4048e3
add eax, esi
lea ecx, [ebp - 0x2c]
push eax
call fcn.00405733
mov ecx, dword [ebp - 0x10]
lea eax, [edi + 1]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], ebx
call fcn.00405733
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x2c]
push eax
call fcn.00401d25
mov eax, ebx
inc edi
inc ebx
inc ebx
cmp edi, dword [ebp - 0x14]
jb 0x4048b1
mov ebx, dword [ebp - 0x14]
push dword [ebp - 0x2c]
call fcn.00402153
push esi
call fcn.00402153
cmp dword [ebp - 0x18], ebx
pop ecx
pop ecx
sete al
jmp 0x40490f
push esi
call fcn.00402153
pop ecx
xor al, al
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret

Function at 0x405733
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
pushal
call 0x405742
pop dword [ebp - 0x10]
mov eax, 0xedb77298
sub eax, 0xed771b56
sub dword [ebp - 0x10], eax
push 0x40
push 0x1000
push 0x3d07a
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 0x10]
call dword [eax]
mov ecx, 0x5703
mov ebx, eax
mov esi, 0x43b800
add esi, dword [ebp - 0x10]
mov edx, 0x55b0595e
sub edx, 0x9c475a2f
xor dword [ebp - 8], 0x6e45247c
mov edi, dword [esi]
sub dword [ebp - 4], ecx
add edi, edx
sub dword [ebp - 4], 0xfc6630d3
mov dword [ebx], edi
mov dword [ebp - 4], 0xcacd94d2
add ebx, 0xc94be24d
add ebx, 0x36b41db7
add esi, 0x43fae4e0
sub esi, 0x43fae4dc
loop 0x405790
add eax, 0xb1543b59
sub eax, 0xb152ec7a
mov ebx, eax
add eax, 0x9407e080
add eax, 0x6bf81f85
mov ecx, 0xefa985cc
add ecx, 0x10967a34
add ecx, dword [ebp - 0x10]
call ebx
leave
ret
Function at 0x9a7520
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ebx + 0x48]
lea esi, [ebx + 0x28]
mov edx, dword [ebx + 4]
add eax, 0x28
mov ecx, dword [ebx]
add eax, ebx
mov dword [ebp - 8], esi
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x10], edx
test edx, edx
jne 0x9a756b
cmp ecx, 0x20
jae 0x9a756b
mov edi, dword [ebp + 8]
mov ebx, dword [ebx + 0x18]
add ebx, 0x165667c5
mov edi, dword [edi + 0x1c]
adc edi, 0x27d4eb2f
jmp 0x9a7602
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push 0x12
push dword [ebx + 0x24]
push dword [ebx + 0x20]
call fcn.009babdc
push 0xc
push dword [ebx + 0x1c]
mov edi, eax
mov esi, edx
push dword [ebx + 0x18]
call fcn.009babdc
push 7
push dword [ebx + 0x14]
add edi, eax
push dword [ebx + 0x10]
adc esi, edx
call fcn.009babdc
push 1
push dword [ebx + 0xc]
add edi, eax
push dword [ebx + 8]
adc esi, edx
call fcn.009babdc
add esp, 0x30
add edi, eax
adc esi, edx
push esi
push edi
call fcn.009c362c
add esp, 0x10
push edx
push eax
call fcn.009c362c
add esp, 0x10
push edx
push eax
call fcn.009c362c
add esp, 0x10
push edx
push eax
call fcn.009c362c
mov esi, dword [ebp - 8]
mov ebx, eax
mov eax, dword [ebp - 4]
mov edi, edx
mov ecx, dword [ebp - 0xc]
add esp, 0x10
mov edx, dword [ebp - 0x10]
add ebx, ecx
lea ecx, [esi + 8]
adc edi, edx
jmp 0x9a765c
push 0x1b
push esi
call fcn.009b3048
push edx
push eax
push 0
push 0
call fcn.009c0b90
add esp, 0x14
xor edx, edi
xor eax, ebx
push edx
push eax
call fcn.009babdc
add esp, 0xc
push 0x9e3779b1
push 0x85ebca87
push edx
push eax
call fcn.009acb50
mov ecx, dword [ebp - 8]
mov ebx, eax
mov eax, dword [ebp - 4]
add ebx, 0xc2b2ae63
mov edi, edx
adc edi, 0x85ebca77
add esi, 8
add ecx, 8
mov dword [ebp - 8], ecx
cmp ecx, eax
jbe 0x9a760b
lea ecx, [esi + 4]
mov dword [ebp - 0x10], ecx
cmp ecx, eax
ja 0x9a76bf
push 0x17
push esi
call fcn.009be6a0
pop ecx
mov ecx, eax
mov eax, 0x9e3779b1
mul ecx
mov esi, eax
mov eax, 0x85ebca87
mul ecx
add esi, edx
xor eax, ebx
xor esi, edi
push esi
push eax
call fcn.009babdc
add esp, 0xc
push 0xc2b2ae3d
push 0x27d4eb4f
push edx
push eax
call fcn.009acb50
mov esi, dword [ebp - 0x10]
mov ebx, eax
mov eax, dword [ebp - 4]
add ebx, 0x9e3779f9
mov edi, edx
adc edi, 0x165667b1
cmp esi, eax
jae 0x9a7703
movzx eax, byte [esi]
push 0xb
push 0x27d4eb2f
cdq
push 0x165667c5
push edx
push eax
call fcn.009acb50
xor edx, edi
xor eax, ebx
push edx
push eax
call fcn.009babdc
add esp, 0xc
push 0x9e3779b1
push 0x85ebca87
push edx
push eax
call fcn.009acb50
inc esi
mov ebx, eax
mov edi, edx
cmp esi, dword [ebp - 4]
jb 0x9a76c3
push 0xc2b2ae3d
xor eax, eax
mov ecx, edi
push 0x27d4eb4f
shr ecx, 1
xor eax, edi
xor ecx, ebx
push eax
push ecx
call fcn.009acb50
mov esi, eax
mov ecx, edx
shrd esi, ecx, 0x1d
push 0x165667b1
shr ecx, 0x1d
xor esi, eax
push 0x9e3779f9
xor ecx, edx
push ecx
push esi
call fcn.009acb50
mov ecx, edx
xor esi, esi
pop edi
xor eax, ecx
xor edx, esi
pop esi
pop ebx
leave
ret
Function at 0x9bd1c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x14]
mov ebx, dword [edx]
mov eax, dword [edx + 4]
test esi, esi
jle 0x9bd223
mov ecx, dword [ebp + 0x10]
sub dword [ebp + 0xc], ecx
mov dword [ebp - 4], esi
mov esi, dword [ebp + 0xc]
push edi
inc bl
movzx ebx, bl
mov cl, byte [edx + ebx + 8]
add al, cl
movzx eax, al
mov dword [ebp + 8], eax
mov edi, dword [ebp + 8]
mov al, byte [edx + eax + 8]
mov byte [edx + ebx + 8], al
add al, cl
movzx eax, al
mov byte [edx + edi + 8], cl
mov cl, byte [eax + edx + 8]
mov eax, dword [ebp + 0x10]
xor cl, byte [esi + eax]
mov byte [eax], cl
inc eax
sub dword [ebp - 4], 1
mov dword [ebp + 0x10], eax
mov eax, edi
jne 0x9bd1e2
mov esi, dword [ebp + 0x14]
pop edi
mov dword [edx + 4], eax
mov eax, esi
pop esi
mov dword [edx], ebx
pop ebx
leave
ret

Function at 0x9c20fc
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0x30]
push ebx
push edi
mov ebx, 0x9b1868
mov eax, dword [eax + 0xc]
push ebx
mov edi, dword [eax + 0x18]
push dword [edi + 0x28]
call fcn.009bf758
pop ecx
pop ecx
test eax, eax
jne 0x9c2123
mov eax, dword [edi + 0x10]
jmp 0x9c2142
push esi
mov esi, dword [edi + 4]
jmp 0x9c213b
push ebx
push dword [esi + 0x28]
call fcn.009bf758
pop ecx
pop ecx
test eax, eax
je 0x9c2145
mov esi, dword [esi + 4]
cmp esi, edi
jne 0x9c2129
xor eax, eax
pop esi
pop edi
pop ebx
ret
mov eax, dword [esi + 0x10]
jmp 0x9c2141

Function at 0x9c2a98
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 0x3c]
mov ebx, dword [eax + esi + 0x78]
test ebx, ebx
je 0x9c2af3
mov edi, dword [ebp + 0xc]
test edi, 0xffff0000
jne 0x9c2abd
sub edi, dword [ebx + esi + 0x10]
jmp 0x9c2b0e
mov ecx, dword [ebx + esi + 0x20]
xor eax, eax
add ecx, esi
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
cmp dword [ebx + esi + 0x18], eax
jbe 0x9c2af3
mov eax, dword [ecx + eax*4]
add eax, esi
push edi
push eax
call fcn.009a915c
pop ecx
pop ecx
test eax, eax
je 0x9c2afc
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
inc eax
mov dword [ebp + 8], eax
cmp eax, dword [ebx + esi + 0x18]
jb 0x9c2ad1
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 8
mov ecx, dword [ebp + 8]
test ecx, ecx
js 0x9c2af3
mov eax, dword [ebx + esi + 0x24]
lea eax, [eax + ecx*2]
movzx edi, word [eax + esi]
cmp edi, 0xffffffff
je 0x9c2af3
cmp edi, dword [ebx + esi + 0x14]
jae 0x9c2af3
mov eax, dword [ebx + esi + 0x1c]
lea eax, [eax + edi*4]
mov eax, dword [eax + esi]
add eax, esi
jmp 0x9c2af5
Function at 0x4905ab
Capabilities:
Access peb ldr_data
Get number of processors

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
mov eax, 0x6b
mov word [ebp - 0x24], ax
mov ecx, 0x65
mov word [ebp - 0x22], cx
mov edx, 0x72
mov word [ebp - 0x20], dx
mov eax, 0x6e
mov word [ebp - 0x1e], ax
mov ecx, 0x65
mov word [ebp - 0x1c], cx
mov edx, 0x6c
mov word [ebp - 0x1a], dx
mov eax, 0x33
mov word [ebp - 0x18], ax
mov ecx, 0x32
mov word [ebp - 0x16], cx
mov edx, 0x2e
mov word [ebp - 0x14], dx
mov eax, 0x64
mov word [ebp - 0x12], ax
mov ecx, 0x6c
mov word [ebp - 0x10], cx
mov edx, 0x6c
mov word [ebp - 0xe], dx
xor eax, eax
mov word [ebp - 0xc], ax
mov dword [ebp - 4], 0
mov ebx, dword fs:[0x30]
mov ebx, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x28]
test eax, eax
je 0x49065f
mov dword [ebp - 8], eax
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.0049053b
add esp, 8
cmp eax, 0
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebx]
jne 0x490638
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x49066b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x14
push ebp
push edi
mov edi, ecx
mov ebp, edx
test edi, edi
je 0x490686
test ebp, ebp
je 0x490686
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
jne 0x49068e
pop edi
xor eax, eax
pop ebp
add esp, 0x14
ret
mov eax, dword [eax + edi + 0x78]
add eax, edi
push ebx
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov ebx, dword [eax + 0x14]
add ecx, edi
mov dword [esp + 0x10], ecx
push esi
mov esi, dword [eax + 0x1c]
mov ecx, ebp
sub ecx, dword [eax + 0x10]
add esi, edi
add edx, edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ebx
cmp ecx, ebx
ja 0x4906ce
mov eax, dword [esi + ecx*4]
pop esi
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0x14
ret
mov eax, dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x18], eax
test eax, eax
je 0x49072a
mov ecx, ebx
movzx ebx, word [edx + esi*2]
cmp ebx, ecx
ja 0x490725
mov eax, dword [esp + 0x14]
mov ecx, ebp
mov eax, dword [eax + esi*4]
add eax, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x490710
test dl, dl
je 0x49070c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x490710
add ecx, 2
add eax, 2
test dl, dl
jne 0x4906f0
xor eax, eax
jmp 0x490715
sbb eax, eax
or eax, 1
test eax, eax
je 0x490734
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
inc esi
cmp esi, eax
jb 0x4906dd
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0x14
ret
mov eax, dword [esp + 0x20]
pop esi
mov eax, dword [eax + ebx*4]
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0x14
ret
Function at 0x49074b
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x10
push ebx
push edi
mov edi, edx
mov ebx, ecx
call fcn.004905ab
test eax, eax
jne 0x490763
pop edi
pop ebx
add esp, 0x10
ret
push esi
lea edx, [esp + 0xc]
mov ecx, eax
mov dword [esp + 0xc], 0x74726956
mov dword [esp + 0x10], 0x416c6175
mov dword [esp + 0x14], 0x636f6c6c
mov byte [esp + 0x18], 0
call fcn.0049066b
mov esi, eax
test esi, esi
jne 0x490799
pop esi
pop edi
pop ebx
add esp, 0x10
ret
push 0x40
push 0x3000
push edi
push ebx
call esi
test eax, eax
jne 0x4907b3
push 0x40
push 0x3000
push edi
push eax
call esi
pop esi
pop edi
pop ebx
add esp, 0x10
ret
Function at 0x4908ab
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x44
push esi
push edi
mov dword [esp + 0x1c], edx
mov edi, ecx
call fcn.004905ab
mov esi, eax
test esi, esi
jne 0x4908c9
pop edi
xor eax, eax
pop esi
add esp, 0x44
ret
lea edx, [esp + 0x38]
mov ecx, esi
mov dword [esp + 0x38], 0x64616f4c
mov dword [esp + 0x3c], 0x7262694c
mov dword [esp + 0x40], 0x41797261
mov byte [esp + 0x44], 0
call fcn.0049066b
mov dword [esp + 0x18], eax
test eax, eax
je 0x4908c1
lea edx, [esp + 0x38]
mov ecx, esi
mov dword [esp + 0x38], 0x65657246
mov dword [esp + 0x3c], 0x7262694c
mov dword [esp + 0x40], 0x797261
call fcn.0049066b
mov dword [esp + 0x34], eax
test eax, eax
je 0x4908c1
lea edx, [esp + 0x38]
mov ecx, esi
mov dword [esp + 0x38], 0x50746547
mov dword [esp + 0x3c], 0x41636f72
mov dword [esp + 0x40], 0x65726464
mov word [esp + 0x44], 0x7373
mov byte [esp + 0x46], 0
call fcn.0049066b
mov dword [esp + 0x28], eax
test eax, eax
je 0x4908c1
lea edx, [esp + 0x38]
mov ecx, esi
mov dword [esp + 0x38], 0x4d746547
mov dword [esp + 0x3c], 0x6c75646f
mov dword [esp + 0x40], 0x6e614865
mov dword [esp + 0x44], 0x41656c64
mov byte [esp + 0x48], 0
call fcn.0049066b
mov dword [esp + 0x30], eax
test eax, eax
je 0x4908c1
mov eax, dword [edi + 0x3c]
push ebx
cmp dword [eax + edi + 0x84], 0
push ebp
je 0x490a90
mov ecx, dword [eax + edi + 0x80]
add ecx, edi
xor esi, esi
lea ebx, [ecx + 0xc]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x10], esi
cmp dword [ebx], esi
je 0x490a90
mov eax, ebx
mov ebp, ecx
mov eax, dword [eax]
add eax, edi
push eax
mov dword [esp + 0x2c], eax
call dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4909f3
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x1c], eax
add eax, edi
mov dword [esp + 0x14], 0
cmp dword [eax], 0
je 0x490a74
mov dword [esp + 0x18], 0
nop
mov eax, dword [eax]
test eax, eax
jns 0x490a16
movzx esi, ax
jmp 0x490a1b
lea esi, [edi + 2]
add esi, eax
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x490a3a
push dword [esp + 0x58]
and eax, 0x80000000
push eax
push esi
push dword [esp + 0x34]
call ecx
mov ecx, eax
test ecx, ecx
jne 0x490a49
push esi
push dword [esp + 0x30]
call dword [esp + 0x38]
mov ecx, eax
test ecx, ecx
je 0x490a9d
mov eax, dword [ebp + 0x10]
add eax, dword [esp + 0x18]
mov dword [eax + edi], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x14], ecx
shl ecx, 2
add eax, ecx
add eax, edi
mov dword [esp + 0x18], ecx
cmp dword [eax], 0
jne 0x490a0b
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x34]
inc esi
mov dword [esp + 0x10], esi
lea eax, [esi + esi*4]
lea ebp, [ecx + eax*4]
cmp dword [ebp + 0xc], 0
lea eax, [ebp + 0xc]
jne 0x4909d0
pop ebp
pop ebx
pop edi
mov eax, 1
pop esi
add esp, 0x44
ret
cmp dword [ebx], 0
je 0x490ac6
mov esi, dword [esp + 0x10]
xor ebp, ebp
lea ecx, [ecx]
cmp ebp, esi
ja 0x490ac6
mov eax, dword [ebx]
add eax, edi
push eax
call dword [esp + 0x3c]
push eax
call dword [esp + 0x40]
add ebx, 0x14
inc ebp
cmp dword [ebx], 0
jne 0x490aab
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x44
ret