joyce8/EMBER2024-capa huggingface dataset:
Function at 0x405e7c
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push esi
xor esi, esi
cmp dword [0x4229f4], esi
push edi
jne 0x405eb6
mov ecx, 0x4229f0
push 8
mov eax, esi
pop edi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec edi
jne 0x405e92
mov dword [ecx], eax
add ecx, 4
inc esi
cmp ecx, 0x422df0
jl 0x405e8d
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov edx, ecx
dec ecx
test edx, edx
not eax
jbe 0x405eeb
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x10]
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x4229f0]
xor eax, esi
inc ecx
dec edx
jne 0x405ece
pop edi
pop esi
not eax
ret 0xc

Function at 0x100113e
Capabilities:
Accept command line arguments
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov esi, eax
mov ax, word [esi]
cmp ax, 0x22
push 2
pop ecx
jne 0x1001171
add esi, ecx
mov ax, word [esi]
test ax, ax
je 0x1001169
cmp ax, 0x22
jne 0x1001159
cmp word [esi], 0x22
jne 0x1001189
jmp 0x1001187
cmp ax, 0x20
jbe 0x1001189
add esi, ecx
cmp word [esi], 0x20
ja 0x1001177
jmp 0x1001189
cmp ax, 0x20
ja 0x1001191
add esi, ecx
mov ax, word [esi]
test ax, ax
jne 0x1001181
and dword [ebp - 0x18], 0
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetStartupInfoW]
test byte [ebp - 0x18], 1
je 0x10011ab
movzx eax, word [ebp - 0x14]
jmp 0x10011ae
push 0xa
pop eax
push eax
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call main
push eax
call dword [sym.imp.KERNEL32.dll_ExitProcess]
Function at 0x3906ac3
Capabilities:
Authenticate hmac

Disassembly:
pushfd
adc al, al
jmp 0x3911f1a
call fcn.03906c62
push 0xd57145dc
call fcn.039838c7
add byte gs:[eax], 0
inc edi
insb byte es:[edi], dx
outsd dx, dword [esi]
bound esp, qword [ecx + 0x6c]
inc esp
insb byte es:[edi], dx
je 0x3906aa4
inc ecx
je 0x3906ab1
insd dword es:[edi], dx
add byte [eax], al
add byte [ebx + 0x65], dl
je 0x3906a9d
arpl word [edx + 0x6f], si
insb byte es:[edi], dx
insb byte es:[edi], dx
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
add byte [eax], al
add byte [ecx + 0x6e], cl
je 0x3906abf
jb 0x3906acf
arpl word gs:[edx + edx*2 + 0x65], si
arpl word [eax + eax], si
add byte [edi + ebp*2 + 0x63], cl
popal
insb byte es:[edi], dx
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
arpl word [eax], ax
add byte [eax], al
push edi
imul ebp, dword [esi + 0x45], 0x636578
sar eax, 0xb
shl byte [eax - 0x73], 0x64
and al, 0x40
xchg esp, eax
lea eax, [eax]
add cl, bh
stc
push ebx
je 0x3906b2a
imul ebp, dword [esi + 0x64], 0x6f50776f
jae 0x3906adc
add byte [eax], al
ja 0x3906b41
add byte [edi + 0x61], dh
jbe 0x3906b47
dec edi
jne 0x3906b59
push eax
jb 0x3906b4d
jo 0x3906b4b
jb 0x3906b51
dec eax
popal
jb 0x3906af3
mov bh, bl
pop cx
dec esp
shr byte [edi], 1
int1
mov word [eax], es
sal byte [ebp + 0x68], 0xed
clc
xchg edx, eax
salc
adc edi, esp
and byte [eax], dl
jno 0x3906b1f
movsb byte es:[edi], byte [esi]
out dx, eax
jbe 0x3906add
push 0xfa8f32dd
cdq
push ss
mov esi, 0x935f38bd
into
fninit
mov esi, 0x1de208b5
lea ebx, [ebx]
les ecx, [edi]
or dl, ah
sbb eax, 0xfc41b8d
stosb byte es:[edi], al
push esp
sbb byte [eax], bl
jecxz 0x3906b44
lds eax, [esi - 0x2d]
adc ah, byte [ecx]
invalid
xor eax, 0x94020976
add dl, byte [ebx]
jecxz 0x3906aea
add dl, byte [edx + eax + 0x3ca0e313]
adc esp, ebx
mov al, byte [0xe653cf3c]
aad 0x9e
cmp al, 0xcf
push ebx
iretd
out 0xd5, al
sahf
mov ebp, 0x5c0295f2
je 0x3906b60
xchg ebp, eax
add bl, byte [esp + esi*2 + 9]
add byte [ebx + esi*8 - 0x63b532d6], cl
sub cl, ch
dec edx
pushfd
xor eax, 0xa1253ea9
pop ss
adc esp, ebx
and eax, 0xe31317a1
mov al, byte [0xe954b851]
push esi
cdq
add cl, byte [ebx + 0x49c285fe]
pushfd
jno 0x3906bc8
mov bl, 0xc1
sbb eax, 0xe381f5b5
push ebp
pop esp
push ecx
or edi, ebp
retf
inc ebx
mov ebp, 0x4b56ab50
pushfd
xor eax, 0xc3558b32
adc ah, bl
mov al, byte [0x1b7ffa66]
je 0x3906bf6
add byte [edi], 0x4a
mov ebx, 0x9308cb5c
and dword fs:[eax], edx
fisub dword [edi + 0x782473a4]
stosd dword es:[edi], eax
iretd
xchg ebp, eax
sbb eax, 0x52cf1c35
lds esi, [eax + ebp*2 + 0x66d61cbf]
mov bl, 0xb2
rcr ebx, 0x18
out dx, eax
and bl, 0xb8
mov dword [ecx], edi
sub al, 0x51
add eax, 0x8488b156
pop edi
daa
retf 0x9102
pushal
push dword [esp]
lea esp, [esp + 0x2c]
jae 0x39117a4
jmp 0x3906a20

Function at 0x3911ad0
Capabilities:
Authenticate hmac

Disassembly:
test cx, bp
stc
xor dl, 0x32
pushfd
dec dl
test al, ah
jmp 0x3906ab6
Function at 0x403594
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
xor ebx, ebx
imul edx, dword [ebx + 0x445008], 0x8088405
inc edx
mov dword [ebx + 0x445008], edx
mul edx
mov eax, edx
pop ebx
ret

Function at 0x41c6d0
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ebp
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cld
mov dl, 0x80
mov al, byte [esi]
add esi, 1
mov byte [edi], al
add edi, 1
mov ebx, 2
add dl, dl
jne 0x41c701
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41c6e9
add dl, dl
jne 0x41c70c
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41c75d
xor eax, eax
add dl, dl
jne 0x41c719
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41c7fa
add dl, dl
jne 0x41c728
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41c733
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41c73e
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41c749
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x41c753
mov ebx, edi
sub ebx, eax
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x41c6f8
mov eax, 1
add dl, dl
jne 0x41c76b
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41c776
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41c762
sub eax, ebx
mov ebx, 1
jne 0x41c7a9
mov ecx, 1
add dl, dl
jne 0x41c78f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41c79a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41c786
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41c6f8
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x41c7c0
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41c7cb
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41c7b7
cmp eax, 0x7d00
sbb ecx, 0xffffffff
cmp eax, 0x500
sbb ecx, 0xffffffff
cmp eax, 0x80
adc ecx, 0
cmp eax, 0x80
adc ecx, 0
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41c6f8
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x41c81b
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x41c6f8
pop ebp
sub edi, dword [ebp - 8]
mov dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret
Function at 0x41d398
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
test dl, dl
je 0x41d3ab
add esp, 0xfffffff0
call fcn.00403d90
mov esi, ecx
mov byte [ebp - 1], dl
mov ebx, eax
xor edx, edx
mov eax, ebx
call fcn.00403b18
mov byte [ebx + 4], 0
cmp dword [esi + 0x5c], 0
jne 0x41d3d1
cmp dword [esi + 0x58], 0x40
jb 0x41d5b7
jmp 0x41d3d7
jl 0x41d5b7
lea eax, [ebx + 0xc]
mov edx, 0x40
call fcn.00406e68
push 0
push 0
push 0
push 0x40
lea edx, [ebx + 0xc]
mov eax, esi
call fcn.0041cf50
cmp word [ebx + 0xc], 0x5a4d
jne 0x41d5b7
mov ecx, dword [ebx + 0x48]
test ecx, ecx
jle 0x41d5b7
cmp ecx, 0x10000
jge 0x41d5b7
mov eax, ecx
add eax, 4
add eax, 0x14
cdq
cmp edx, dword [esi + 0x5c]
jne 0x41d432
cmp eax, dword [esi + 0x58]
ja 0x41d5b7
jmp 0x41d438
jg 0x41d5b7
lea eax, [ebx + 0x4c]
mov edx, 4
call fcn.00406e68
mov eax, dword [ebx + 0x48]
cdq
push edx
push eax
push 0
push 4
lea edx, [ebx + 0x4c]
mov eax, esi
call fcn.0041cf50
cmp dword [ebx + 0x4c], 0x4550
jne 0x41d5b7
lea eax, [ebx + 0x50]
mov edx, 0x14
call fcn.00406e68
mov eax, dword [ebx + 0x48]
add eax, 4
cdq
push edx
push eax
push 0
push 0x14
lea edx, [ebx + 0x50]
mov eax, esi
call fcn.0041cf50
mov ax, word [ebx + 0x50]
cmp ax, 0x8664
jne 0x41d4ef
mov eax, dword [ebx + 0x48]
add eax, 4
add eax, 0x14
add eax, 0xf0
cdq
cmp edx, dword [esi + 0x5c]
jne 0x41d4b3
cmp eax, dword [esi + 0x58]
ja 0x41d540
jmp 0x41d4b9
jg 0x41d540
lea eax, [ebx + 0x144]
mov edx, 0xf0
call fcn.00406e68
mov eax, dword [ebx + 0x48]
add eax, 4
add eax, 0x14
cdq
push edx
push eax
push 0
push 0xf0
lea edx, [ebx + 0x144]
mov eax, esi
call fcn.0041cf50
mov byte [ebx + 4], 1
jmp 0x41d540
cmp ax, 0x14c
jne 0x41d540
mov eax, dword [ebx + 0x48]
add eax, 4
add eax, 0x14
add eax, 0xe0
cdq
cmp edx, dword [esi + 0x5c]
jne 0x41d510
cmp eax, dword [esi + 0x58]
ja 0x41d540
jmp 0x41d512
jg 0x41d540
lea eax, [ebx + 0x64]
mov edx, 0xe0
call fcn.00406e68
mov eax, dword [ebx + 0x48]
add eax, 4
add eax, 0x14
cdq
push edx
push eax
push 0
push 0xe0
lea edx, [ebx + 0x64]
mov eax, esi
call fcn.0041cf50
mov byte [ebx + 4], 1
cmp byte [ebx + 4], 0
je 0x41d5b7
mov eax, dword [ebx + 0x48]
add eax, 4
add eax, 0x14
movzx edx, word [ebx + 0x60]
add eax, edx
mov di, word [ebx + 0x52]
movzx edx, di
shl edx, 3
lea edx, [edx + edx*4]
add eax, edx
cdq
cmp edx, dword [esi + 0x5c]
jne 0x41d571
cmp eax, dword [esi + 0x58]
ja 0x41d5b7
jmp 0x41d573
jg 0x41d5b7
movzx eax, di
push eax
lea eax, [ebx + 8]
mov ecx, 1
mov edx, dword [0x42ee68]
call fcn.00405b5c
add esp, 4
mov eax, dword [ebx + 0x48]
add eax, 4
add eax, 0x14
movzx edx, word [ebx + 0x60]
add eax, edx
cdq
push edx
push eax
movzx eax, word [ebx + 0x52]
shl eax, 3
lea eax, [eax + eax*4]
xor edx, edx
push edx
push eax
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.0041cf50
mov eax, ebx
cmp byte [ebp - 1], 0
je 0x41d5ce
call fcn.00403de8
pop dword fs:[0]
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret
Function at 0x41ebdc
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ecx
mov word [ebp - 2], dx
xor eax, eax
push ebp
push 0x43118b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
call fcn.00404cb8
xor ebx, ebx
mov eax, ebx
and eax, 0x80000001
jns 0x41ec17
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x41ec30
lea eax, [ebp - 0x10]
mov edx, dword [0x447194]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
call fcn.00404d18
jmp 0x41ec43
lea eax, [ebp - 0x10]
mov edx, dword [0x447194]
mov edx, dword [edx]
mov edx, dword [edx + 0x14]
call fcn.00404d18
lea eax, [ebp - 0x10]
mov edx, ebx
sar edx, 1
jns 0x41ec4f
adc edx, 0
mov edx, dword [edx*4 + 0x445cac]
call fcn.00404f08
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp - 0x10]
call fcn.00404eec
push eax
call fcn.00406adc
mov esi, eax
cmp esi, 0xffffffff
je 0x41ed5d
mov eax, 0x40
call fcn.00403250
mov edi, eax
push 0
lea eax, [ebp - 0xc]
push eax
push 0x40
push edi
push esi
call fcn.00406d24
test eax, eax
je 0x41ed50
mov eax, edi
cmp word [eax], 0x5a4d
jne 0x41ed50
push 0
push 0
mov eax, dword [eax + 0x3c]
push eax
push esi
call fcn.00406d7c
mov eax, edi
call fcn.00403270
mov eax, 0x18
call fcn.00403250
mov edi, eax
push 0
lea eax, [ebp - 0xc]
push eax
push 0x18
push edi
push esi
call fcn.00406d24
test eax, eax
je 0x41ed50
mov eax, edi
cmp dword [eax], 0x4550
jne 0x41ed50
add eax, 4
mov dx, word [eax]
cmp dx, 0x14c
jb 0x41ed50
cmp dx, 0x150
ja 0x41ed50
mov eax, edi
call fcn.00403270
mov eax, 0xe0
call fcn.00403250
mov edi, eax
push 0
lea eax, [ebp - 0xc]
push eax
push 0xe0
push edi
push esi
call fcn.00406d24
test eax, eax
je 0x41ed50
mov eax, edi
mov dx, word [eax + 0x44]
cmp dx, word [ebp - 2]
jne 0x41ed50
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 8]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
call fcn.00404cf4
mov eax, edi
call fcn.00403270
push esi
call fcn.00406a94
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor edx, edx
call fcn.00405014
jne 0x41ed75
inc ebx
cmp ebx, 0x19
jne 0x41ec09
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x431192
lea eax, [ebp - 0x10]
call fcn.00404cb8
ret
Function at 0x10001f46
Capabilities:
Access peb ldr_data
Resolve function by hash

Disassembly:
push ebp
mov ebp, esp
cld
xor edx, edx
mov edx, dword fs:[edx + 0x30]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x14]
mov esi, dword [edx + 0x28]
push 0x18
pop ecx
xor edi, edi
xor eax, eax
lodsb al, byte [esi]
cmp al, 0x61
jl 0x10001f67
sub al, 0x20
ror edi, 0xd
add edi, eax
loop 0x10001f5e
cmp edi, 0x6a4abc5b
mov ebx, dword [edx + 0x10]
mov edx, dword [edx]
jne 0x10001f56
mov eax, ebx
leave
ret

Function at 0x10001f8d
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffec
push esi
push ebx
push edi
push edx
push ecx
mov eax, dword [ebp + 0xc]
xor edx, edx
xchg edx, eax
mov esi, 0x3c
add esi, dword [ebp + 8]
mov eax, dword [esi]
add eax, dword [ebp + 8]
mov esi, dword [eax + 0x78]
add esi, 0x18
add esi, dword [ebp + 8]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
add esi, 4
lea edi, [ebp - 8]
lodsd eax, dword [esi]
add eax, dword [ebp + 8]
stosd dword es:[edi], eax
mov dword [ebp - 8], eax
lodsd eax, dword [esi]
add eax, dword [ebp + 8]
push eax
stosd dword es:[edi], eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
add eax, dword [ebp + 8]
mov dword [ebp - 0x10], eax
pop esi
mov dword [ebp - 4], 0
push esi
mov eax, dword [esi]
add eax, dword [ebp + 8]
xchg edi, eax
mov ebx, edi
push edi
xor al, al
scasb al, byte es:[edi]
jne 0x10001fec
pop esi
sub edi, ebx
push edx
cld
xor ecx, ecx
dec ecx
mov edx, ecx
xor eax, eax
xor ebx, ebx
lodsb al, byte [esi]
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
shr bx, 1
rcr ax, 1
jae 0x10002019
xor ax, 0x8320
xor bx, 0xedb8
dec dh
jne 0x10002008
xor ecx, eax
xor edx, ebx
dec edi
jne 0x10001ff9
not edx
not ecx
mov eax, edx
rol eax, 0x10
mov ax, cx
pop edx
cmp edx, eax
je 0x1000203f
pop esi
add esi, 4
add dword [ebp - 4], 1
jmp 0x10001fe0
pop esi
mov eax, dword [ebp - 4]
shl eax, 1
add eax, dword [ebp - 0x10]
xor esi, esi
xchg esi, eax
mov ax, word [esi]
shl ax, 2
add eax, dword [ebp - 8]
xchg esi, eax
mov eax, dword [esi]
add eax, dword [ebp + 8]
pop ecx
pop edx
pop edi
pop ebx
pop esi
leave
ret 8
Function at 0x10002731
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
pop ebp
sub esp, 0xc
push ebp
push edi
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10002754
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x10002754
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
jne 0x1000275e
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
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 + 0x20], 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 + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebx
cmp ecx, ebx
ja 0x100027a0
mov eax, dword [esi + ecx*4]
pop esi
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
mov eax, dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x10002802
mov ecx, ebx
lea ebx, [ebx]
movzx ebx, word [edx + esi*2]
cmp ebx, ecx
ja 0x100027fd
mov eax, dword [esp + 0x24]
mov ecx, ebp
mov eax, dword [eax + esi*4]
add eax, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x100027e8
test dl, dl
je 0x100027e4
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x100027e8
add ecx, 2
add eax, 2
test dl, dl
jne 0x100027c8
xor eax, eax
jmp 0x100027ed
sbb eax, eax
or eax, 1
test eax, eax
je 0x1000280e
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc esi
cmp esi, eax
jb 0x100027b5
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
mov eax, dword [esp + 0x18]
pop esi
mov eax, dword [eax + ebx*4]
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
Function at 0x10002893
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
pop ebp
sub esp, 0xc
push ebp
push edi
mov edi, dword [esp + 0x18]
test edi, edi
je 0x100028b6
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x100028b6
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
jne 0x100028c0
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
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 + 0x20], 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 + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebx
cmp ecx, ebx
ja 0x10002902
mov eax, dword [esi + ecx*4]
pop esi
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
mov eax, dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x10002964
mov ecx, ebx
lea ebx, [ebx]
movzx ebx, word [edx + esi*2]
cmp ebx, ecx
ja 0x1000295f
mov eax, dword [esp + 0x24]
mov ecx, ebp
mov eax, dword [eax + esi*4]
add eax, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x1000294a
test dl, dl
je 0x10002946
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x1000294a
add ecx, 2
add eax, 2
test dl, dl
jne 0x1000292a
xor eax, eax
jmp 0x1000294f
sbb eax, eax
or eax, 1
test eax, eax
je 0x10002970
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc esi
cmp esi, eax
jb 0x10002917
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
mov eax, dword [esp + 0x18]
pop esi
mov eax, dword [eax + ebx*4]
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
Function at 0x10002a02
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
pop ebp
sub esp, 0xc
push ebp
push edi
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10002a25
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x10002a25
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
jne 0x10002a2f
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
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 + 0x20], 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 + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebx
cmp ecx, ebx
ja 0x10002a71
mov eax, dword [esi + ecx*4]
pop esi
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
mov eax, dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x10002ad3
mov ecx, ebx
lea ebx, [ebx]
movzx ebx, word [edx + esi*2]
cmp ebx, ecx
ja 0x10002ace
mov eax, dword [esp + 0x24]
mov ecx, ebp
mov eax, dword [eax + esi*4]
add eax, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10002ab9
test dl, dl
je 0x10002ab5
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10002ab9
add ecx, 2
add eax, 2
test dl, dl
jne 0x10002a99
xor eax, eax
jmp 0x10002abe
sbb eax, eax
or eax, 1
test eax, eax
je 0x10002adf
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc esi
cmp esi, eax
jb 0x10002a86
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
mov eax, dword [esp + 0x18]
pop esi
mov eax, dword [eax + ebx*4]
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
Function at 0x10002b6c
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
pop ebp
sub esp, 0xc
push ebp
push edi
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10002b8f
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x10002b8f
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
jne 0x10002b99
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
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 + 0x20], 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 + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebx
cmp ecx, ebx
ja 0x10002bdb
mov eax, dword [esi + ecx*4]
pop esi
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
mov eax, dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x10002c3d
mov ecx, ebx
lea ebx, [ebx]
movzx ebx, word [edx + esi*2]
cmp ebx, ecx
ja 0x10002c38
mov eax, dword [esp + 0x24]
mov ecx, ebp
mov eax, dword [eax + esi*4]
add eax, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10002c23
test dl, dl
je 0x10002c1f
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10002c23
add ecx, 2
add eax, 2
test dl, dl
jne 0x10002c03
xor eax, eax
jmp 0x10002c28
sbb eax, eax
or eax, 1
test eax, eax
je 0x10002c49
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc esi
cmp esi, eax
jb 0x10002bf0
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
mov eax, dword [esp + 0x18]
pop esi
mov eax, dword [eax + ebx*4]
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
Function at 0x10002ce2
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
pop ebp
sub esp, 0xc
push ebp
push edi
mov edi, dword [esp + 0x18]
test edi, edi
je 0x10002d05
mov ebp, dword [esp + 0x1c]
test ebp, ebp
je 0x10002d05
mov eax, dword [edi + 0x3c]
cmp dword [eax + edi + 0x7c], 0
jne 0x10002d0f
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
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 + 0x20], 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 + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ebx
cmp ecx, ebx
ja 0x10002d51
mov eax, dword [esi + ecx*4]
pop esi
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8
mov eax, dword [eax + 0x18]
xor esi, esi
mov dword [esp + 0x10], eax
test eax, eax
je 0x10002db3
mov ecx, ebx
lea ebx, [ebx]
movzx ebx, word [edx + esi*2]
cmp ebx, ecx
ja 0x10002dae
mov eax, dword [esp + 0x24]
mov ecx, ebp
mov eax, dword [eax + esi*4]
add eax, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10002d99
test dl, dl
je 0x10002d95
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10002d99
add ecx, 2
add eax, 2
test dl, dl
jne 0x10002d79
xor eax, eax
jmp 0x10002d9e
sbb eax, eax
or eax, 1
test eax, eax
je 0x10002dbf
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc esi
cmp esi, eax
jb 0x10002d66
pop esi
pop ebx
pop edi
xor eax, eax
pop ebp
add esp, 0xc
ret 8
mov eax, dword [esp + 0x18]
pop esi
mov eax, dword [eax + ebx*4]
pop ebx
add eax, edi
pop edi
pop ebp
add esp, 0xc
ret 8