joyce8/EMBER2024-capa huggingface dataset:
Function at 0x424430
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x42459e
sub esp, 0x1c
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00422370
mov eax, dword [esp + 4]
test eax, eax
je 0x424587
mov dword [esp + 0xc], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x18]
nop
inc dword [edx + 0x78]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x14], ecx
mov dword [esp], eax
call fcn.00420630
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
sub eax, dword [ecx + 0xc]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x24]
movzx ebx, byte [edx + 6]
mov byte [esp + 0xb], bl
lea ebp, [ecx + 0x48]
mov dword [esp + 0x18], ebp
nop
mov dword [esp], ebp
call fcn.00409820
mov eax, dword [esp + 0xc]
lea ecx, [eax + 0x4c]
movzx edx, byte [esp + 0xb]
mov ebx, dword [esp + 0x10]
jmp 0x4244c7
mov ecx, ebp
mov ebp, dword [ecx]
test ebp, ebp
je 0x4244e5
movzx esi, word [ebp + 4]
cmp ebx, esi
jne 0x4244dc
cmp byte [ebp + 6], dl
je 0x424541
cmp ebx, esi
jb 0x4244e5
jne 0x4244c5
cmp byte [ebp + 6], dl
jbe 0x4244c5
mov edx, dword [esp + 0x24]
mov word [edx + 4], bx
mov ebx, dword [ecx]
mov dword [edx], ebx
mov dword [ecx], edx
mov dword [esp], eax
call fcn.00424330
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.00409a30
nop
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x78]
lea ebx, [edx - 1]
mov dword [ecx + 0x78], ebx
cmp edx, 1
jne 0x424538
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x424538
mov dword [eax + 8], 0xfffffade
mov byte [esp + 0x28], 1
add esp, 0x1c
ret
nop
nop
mov eax, dword [esp + 0x18]
mov dword [esp], eax
call fcn.00409a30
nop
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x78]
lea ebx, [edx - 1]
mov dword [ecx + 0x78], ebx
cmp edx, 1
jne 0x42457e
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x42457e
mov dword [eax + 8], 0xfffffade
mov byte [esp + 0x28], 0
add esp, 0x1c
ret
lea eax, [0x617650]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
call fcn.004321d0
nop
call fcn.0045c8b0
jmp fcn.00424430
Function at 0x4246e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4248ea
sub esp, 0x28
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409820
lea eax, [0x78c99c]
mov dword [esp], eax
call fcn.004157a0
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
nop
nop
lea ecx, [0x78c9e4]
mov dword [esp], ecx
call fcn.00409a30
mov eax, dword [esp + 0x24]
mov byte [eax + 6], 1
lea edi, [eax + 8]
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x4248d8
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x34]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x7a0970]
test ecx, ecx
jne 0x4248b5
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00424430
movzx eax, byte [esp + 8]
test al, al
je 0x424867
mov eax, dword [0x7a0710]
test eax, eax
jne 0x4247a5
mov byte [esp + 0x40], 1
add esp, 0x28
ret
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00410dd0
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0xc]
nop
inc dword [ecx + 0x78]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x18], ecx
mov ebx, dword [ecx + 0x54]
test byte [ebx], al
test byte [eax], al
mov dword [esp], edx
lea eax, [ebx + 0xb84]
mov dword [esp + 0x1c], eax
mov dword [esp + 4], eax
call fcn.0041cee0
mov eax, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], 4
lea eax, [0x74f0c1]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.0041cda0
nop
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x78]
lea ebx, [edx - 1]
mov dword [ecx + 0x78], ebx
cmp edx, 1
jne 0x42479c
movzx ecx, byte [eax + 0x65]
test cl, cl
je 0x42479c
mov dword [eax + 8], 0xfffffade
jmp 0x42479c
nop
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409820
nop
mov eax, dword [0x78c9b4]
sub eax, dword [0x78c99c]
mov dword [0x78c9b4], eax
mov eax, dword [0x78c9a8]
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
mov dword [0x78c9a8], ecx
nop
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409a30
mov byte [esp + 0x40], 0
add esp, 0x28
ret
lea ecx, [eax + 0x10]
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x38]
call fcn.0045de10
lea edi, [ebx + 0x14]
mov eax, dword [esp + 0x3c]
call fcn.0045de10
mov eax, ebx
jmp 0x424775
mov ecx, eax
mov eax, dword [esp + 0x30]
call fcn.0045de10
mov eax, ecx
jmp 0x42474e
call fcn.0045c8b0
jmp fcn.004246e0
Function at 0x424a30
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x424b40
sub esp, 0x14
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 6]
cmp cl, 1
je 0x424abb
cmp cl, 2
jne 0x424b29
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.00429e50
nop
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409820
nop
mov eax, dword [0x78c9d8]
sub eax, dword [0x78c9c0]
mov dword [0x78c9d8], eax
mov eax, dword [0x78c9cc]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x78c9cc], ecx
nop
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409a30
add esp, 0x14
ret
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00414a60
nop
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409820
nop
mov eax, dword [0x78c9b4]
sub eax, dword [0x78c99c]
mov dword [0x78c9b4], eax
mov eax, dword [0x78c9a8]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x78c9a8], ecx
nop
lea eax, [0x78c9e4]
mov dword [esp], eax
call fcn.00409a30
jmp 0x424ab7
lea eax, [0x612553]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.004321d0
nop
call fcn.0045c8b0
jmp fcn.00424a30
Function at 0x42a250
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x42a330
sub esp, 0x30
movzx ecx, byte [esp + 0x40]
test cl, cl
jne 0x42a310
mov dword [esp + 8], 0
mov edx, dword [esp + 0x38]
test edx, edx
jg 0x42a29d
test cl, cl
jne 0x42a296
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
add esp, 0x30
ret
call fcn.004366d0
jmp 0x42a28a
mov ebx, dword fs:[0x14]
mov ebx, dword [ebx]
lea edi, [esp + 0xc]
xor eax, eax
call fcn.0045e0a7
lea ecx, [0x457130]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x24], ecx
movzx ecx, byte [esp + 0x40]
mov byte [esp + 0x28], cl
lea edx, [esp + 8]
mov dword [esp + 0x2c], edx
lea edx, [esp + 0xc]
mov dword [esp], edx
call fcn.0045c790
movzx ecx, byte [esp + 0x40]
test cl, cl
jmp 0x42a288
lea eax, [0x610d76]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00436620
movzx ecx, byte [esp + 0x40]
jmp 0x42a276
call fcn.0045c8b0
jmp fcn.0042a250
Function at 0x430cc0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x20
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0x14]
test edx, edx
je 0x430dfb
lea ebx, [esp + 0x24]
cmp dword [edx + 8], ebx
jne 0x430df7
mov dword [esp + 0xc], ecx
mov dword [esp + 0x18], edx
lea edi, [ecx + 0x14]
mov dword [esp + 0x14], edi
movzx ebx, byte [edx + 6]
test bl, bl
jne 0x430db1
mov ebx, dword [edx]
test ebx, ebx
jne 0x430d74
mov ebx, dword [edx + 0x10]
mov ebp, dword [0x7a0970]
test ebp, ebp
jne 0x430d60
mov dword [edx + 0x10], 0
mov dword [esp + 0x10], ebx
test byte [ecx], al
mov ebp, dword [0x7a0970]
mov eax, dword [edx + 0x18]
test ebp, ebp
jne 0x430d59
mov dword [ecx + 0x14], eax
mov dword [esp], edx
call fcn.00430a50
mov eax, dword [esp + 0x10]
test byte [eax], al
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0045da60
add esp, 0x20
ret
call fcn.0045de10
jmp 0x430d33
lea ebp, [edx + 0x10]
mov eax, edi
mov edi, ebp
mov esi, eax
xor eax, eax
call fcn.0045de10
mov edi, esi
jmp 0x430d1d
cmp ebx, 4
jne 0x430d88
lea ebx, [edx + 0x28]
test byte [ebx], al
mov ebx, dword [edx + 0x28]
nop
mov dword [esp + 0x24], ebx
jmp 0x430d09
nop
lea eax, [esp + 0x24]
mov dword [esp], eax
lea ecx, [edx + 0x28]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.0045e7b0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
jmp 0x430d09
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00431120
movzx eax, byte [esp + 8]
test al, al
je 0x430dff
mov ecx, dword [esp + 0xc]
test byte [ecx], al
mov edx, dword [0x7a0970]
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x18]
test edx, edx
jne 0x430dec
mov dword [ecx + 0x14], eax
mov dword [esp], ebx
call fcn.00430a50
add esp, 0x20
ret
mov edi, dword [esp + 0x14]
call fcn.0045de10
jmp 0x430de0
add esp, 0x20
ret
add esp, 0x20
ret
lea eax, [0x61c7d8]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.004321d0
nop
int3
Function at 0x43b6f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x18
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov ecx, dword [eax + 0x18]
inc dword [ecx + 0x78]
mov dword [eax + 8], 0xfffffade
mov byte [eax + 0x6b], 1
mov ecx, dword [esp + 0x1c]
mov dword [esp], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 4], edx
call fcn.0043b6b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x38], eax
mov edx, dword [esp + 0x1c]
mov dword [ecx + 0x3c], edx
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 3
call fcn.00436340
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x38]
cmp dword [eax], ecx
jbe 0x43b8c9
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
lea ecx, [0x458320]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
lea ecx, [esp + 0x10]
mov dword [esp], ecx
call fcn.0045c790
movzx eax, byte [0x78ca28]
test al, al
jne 0x43b8a2
lea eax, [0x783dcc]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
jne 0x43b87b
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x54]
test byte [ecx], al
mov ecx, dword [ecx + 0x13a8]
test ecx, ecx
jne 0x43b850
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x54]
mov edx, dword [edx + 0x10]
mov dword [ecx + 0x164], edx
mov byte [eax + 0x6f], 1
mov ecx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x54]
mov dword [ecx + 0x2c], 0
mov edx, dword [eax + 0x18]
mov ebx, ecx
mov dword [edx + 0x5c], ecx
mov ecx, dword [eax + 0x18]
mov dword [ecx + 0x54], 0
lea ecx, [ebx + 4]
mov dword [esp], ecx
mov dword [esp + 4], 2
call fcn.00402170
mov eax, dword [0x783dc0]
test eax, eax
jne 0x43b82c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x18]
dec dword [eax + 0x78]
add esp, 0x18
ret
lea eax, [0x627184]
mov dword [esp], eax
call fcn.0045c790
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
call fcn.0043b6b0
jmp 0x43b81e
lea eax, [0x627284]
mov dword [esp], eax
call fcn.0045c790
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.0043b6b0
mov eax, dword [esp + 0xc]
jmp 0x43b7cf
lea eax, [0x627188]
mov dword [esp], eax
call fcn.0045c790
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.0043b6b0
jmp 0x43b7b5
lea eax, [0x6272cc]
mov dword [esp], eax
call fcn.0045c790
mov eax, dword [esp + 0x1c]
mov dword [esp], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.0043b6b0
jmp 0x43b79b
cmp dword [eax + 4], ecx
jb 0x43b762
jmp 0x43b78c
Function at 0x443590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4437a0
sub esp, 0x30
mov eax, dword [esp + 0x34]
mov ecx, eax
mov dword [esp + 0x20], eax
mov dword [esp], ecx
mov dword [esp + 4], 1
call fcn.004020b0
mov eax, dword [esp + 0x20]
shr eax, 3
mov ecx, eax
mov eax, 0x828cbfbf
mul ecx
shr edx, 7
imul eax, edx, 0xfb
sub ecx, eax
shl ecx, 6
mov dword [esp + 0x1c], ecx
lea eax, [0x784560]
lea edx, [eax + ecx + 8]
mov dword [esp + 0x2c], edx
mov dword [esp], edx
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
je 0x443785
mov eax, dword [esp + 0x1c]
lea ecx, [0x784560]
lea edx, [ecx + eax]
mov dword [esp + 0x28], edx
mov dword [esp], edx
call fcn.00409820
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.00401fa0
mov eax, dword [esp + 4]
test eax, eax
je 0x443773
mov eax, dword [esp + 0x1c]
lea ecx, [0x784560]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00443bf0
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
test eax, eax
jne 0x44375a
nop
nop
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00409a30
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4436f2
mov ecx, dword [eax + 0x10]
test ecx, ecx
setne dl
mov ebx, dword [eax + 0x14]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x44372e
mov ecx, dword [eax + 0x20]
test ecx, ecx
jne 0x443789
movzx ecx, byte [esp + 0x38]
test cl, cl
jne 0x443706
mov dword [esp], eax
mov ecx, dword [esp + 0x3c]
add ecx, 5
mov dword [esp + 4], ecx
call fcn.00443210
mov eax, dword [esp + 0x24]
cmp dword [eax + 0x20], 1
jne 0x4436f2
mov eax, dword fs:[0x14]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x78]
test eax, eax
je 0x4436f6
add esp, 0x30
ret
lea eax, [0x6271ec]
mov dword [esp], eax
call fcn.0045c730
jmp 0x4436f2
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004437b0
movzx eax, byte [esp + 4]
test al, al
je 0x443728
mov eax, dword [esp + 0x24]
mov dword [eax + 0x20], 1
jmp 0x4436be
mov eax, dword [esp + 0x24]
jmp 0x4436be
mov eax, dword [esp + 0x18]
sub eax, ecx
mov ecx, dword [esp + 0x14]
sbb ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 3]
mov dword [esp + 8], ecx
call fcn.00459420
mov eax, dword [esp + 0x24]
jmp 0x4436aa
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call fcn.004020b0
jmp 0x443674
nop
nop
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.00409a30
add esp, 0x30
ret
add esp, 0x30
ret
lea eax, [0x616577]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.004321d0
nop
call fcn.0045c8b0
jmp fcn.00443590
Function at 0x44b390
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44b51c
sub esp, 0xc
mov ecx, dword [esp + 0x14]
test ecx, ecx
jbe 0x44b514
mov edx, dword [esp + 0x10]
movzx ebx, byte [edx]
test ebx, ebx
jne 0x44b3cf
movzx ebp, byte [esp + 0x24]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44b4d4
test ebx, 0x80
je 0x44b4ca
xor eax, eax
xor ebx, ebx
xor ebp, ebp
jmp 0x44b3ec
lea ebp, [ecx + 7]
mov ecx, dword [esp + 0x14]
mov eax, edi
cmp ecx, eax
jbe 0x44b50f
movzx esi, byte [eax + edx]
lea edi, [eax + 1]
mov eax, esi
and esi, 0x7f
mov ecx, ebp
shl esi, cl
or ebx, esi
test al, 0x80
jne 0x44b3e3
mov ebp, ebx
and ebx, 1
neg ebx
shr ebp, 1
xor ebx, ebp
mov ebp, dword [esp + 0x20]
add dword [ebp], ebx
mov ecx, dword [esp + 0x14]
cmp ecx, edi
jb 0x44b508
sub ecx, edi
mov ebx, dword [esp + 0x18]
sub ebx, edi
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and edi, ebx
lea ebx, [edx + edi]
test ecx, ecx
jbe 0x44b501
mov dword [esp + 0x14], ecx
mov dword [esp + 8], ebp
movzx edx, byte [edx + edi]
test edx, 0x80
je 0x44b4c3
xor eax, eax
xor edx, edx
xor esi, esi
jmp 0x44b46e
lea esi, [ecx + 7]
mov ecx, dword [esp + 0x14]
mov eax, ebp
mov ebp, dword [esp + 8]
cmp ecx, eax
jbe 0x44b4fc
movzx edi, byte [eax + ebx]
lea ebp, [eax + 1]
mov eax, edi
and edi, 0x7f
mov ecx, esi
shl edi, cl
or edx, edi
test al, 0x80
jne 0x44b461
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jb 0x44b4f5
mov eax, dword [esp + 0x1c]
add dword [eax], edx
mov eax, dword [esp + 8]
sub eax, ebp
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ebp
add eax, ebx
mov dword [esp + 0x28], eax
sub ecx, ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
mov byte [esp + 0x34], 1
add esp, 0xc
ret
mov ebp, 1
jmp 0x44b48d
mov edi, 1
jmp 0x44b40b
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov byte [esp + 0x34], 0
add esp, 0xc
ret
mov eax, ebp
call fcn.0045df00
call fcn.0045dea0
xor eax, eax
call fcn.0045de90
mov eax, edi
call fcn.0045df00
call fcn.0045dea0
xor eax, eax
call fcn.0045de90
nop
call fcn.0045c8b0
jmp fcn.0044b390
Function at 0x44f360
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44f501
sub esp, 0x48
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x4c]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x78]
add ebx, 1
mov edx, dword [edx + 0x54]
mov ebp, dword [ecx + 0x7c]
mov dword [ecx + 0x78], ebx
adc ebp, 0
mov dword [ecx + 0x7c], ebp
mov ebx, edx
mov ebp, dword [edx + 0xb78]
test ebp, ebp
je 0x44f435
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x2c]
xor eax, eax
call fcn.0045e0aa
mov ecx, dword [esp + 0x44]
mov ebx, dword [ecx + 0x50]
mov ebp, dword [ecx + 0x54]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebp
mov ebx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov eax, dword [edx + 0xb78]
cmp eax, 4
jae 0x44f4f6
lea ecx, [0x794a94]
lea eax, [ecx + eax*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
mov byte [esp], 0x29
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.0044e180
add esp, 0x48
ret
cmp dword [ecx + 0x80], ebx
jne 0x44f486
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [ecx + 0x50]
mov ecx, dword [ecx + 0x54]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov byte [esp], 0x26
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.0044e180
jmp 0x44f431
mov dword [ecx + 0x80], ebx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov eax, dword [ecx + 0x50]
mov edx, dword [ecx + 0x54]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
mov byte [esp], 0xe
mov dword [esp + 4], 0xffffffff
lea eax, [esp + 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.0044e180
jmp 0x44f431
mov ecx, 4
call fcn.0045de90
nop
call fcn.0045c8b0
jmp fcn.0044f360
Function at 0x44f770
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44f885
sub esp, 0x2c
mov ecx, dword [esp + 0x34]
test ecx, ecx
setne dl
mov ebx, dword [esp + 0x30]
test ebx, ebx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or edx, ebp
test dl, dl
je 0x44f87a
cmp dword [0x78ca38], ebx
seta dl
mov ebp, dword [0x78ca3c]
cmp ecx, ebp
sete cl
xchg ebp, ebx
setl bl
xchg ebp, ebx
and ecx, edx
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x44f87a
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov edx, dword fs:[0x14]
mov edx, dword [edx]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0x4c]
mov ebx, dword [edx + 0x78]
add ebx, 1
mov ebp, dword [edx + 0x7c]
mov dword [edx + 0x78], ebx
adc ebp, 0
mov dword [edx + 0x7c], ebp
mov ebx, dword [edx + 0x18]
mov ebx, dword [ebx + 0x54]
mov dword [edx + 0x80], ebx
lea edi, [esp + 0x14]
mov ebx, eax
xor eax, eax
call fcn.0045e0aa
mov ecx, dword [edx + 0x50]
mov ebp, dword [edx + 0x54]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov ecx, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x30]
shr ecx, 6
mov edx, ebx
shl ebx, 0x1a
or ecx, ebx
mov dword [esp + 0x24], ecx
shr edx, 6
mov dword [esp + 0x28], edx
mov byte [esp], 0x1d
mov dword [esp + 4], 0xffffffff
lea ecx, [esp + 0x14]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call fcn.0044e180
add esp, 0x2c
ret
mov eax, dword [esp + 0x34]
mov ecx, ebx
jmp 0x44f7d6
call fcn.0045c8b0
jmp fcn.0044f770
Function at 0x452000
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45209f
sub esp, 0x30
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
lea edi, [esp + 0xc]
xor eax, eax
call fcn.0045e0a7
lea ecx, [0x458aa0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 4]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xc]
mov dword [esp], ecx
call fcn.0045c790
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.0045c8b0
jmp fcn.00452000