joyce8/EMBER2024-capa huggingface dataset:
Function at 0x401110
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4012e7
sub esp, 0x64
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call fcn.004a8580
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov edi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
add eax, 0x886e0900
adc edx, 0xfffffff1
mov esi, 0x3b9aca00
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4012d2
mul esi
mov esi, eax
mov ebp, edx
mov dword [esp + 0x48], edi
mov eax, edi
cdq
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
add eax, ebx
adc edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004602f0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov byte [esp + 0x60], al
lea eax, [esp + 0x50]
xor ebp, ebp
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov dword [eax + 0xc], ebp
xchg ebp, ebx
mov byte [eax + 0x10], bl
xchg ebp, ebx
mov dword [esp + 0x2c], edx
mov dword [eax], edx
mov dword [esp + 0x30], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x28], eax
xor edi, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov esi, edi
mov dword [esp + 0x3c], edi
xor eax, eax
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0x68]
cmp eax, ebp
jge 0x40125f
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004607f0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x70]
cmp ebx, ebp
jae 0x4012cb
mov ebp, dword [esp + 0x6c]
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x23], bl
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
mov ebx, eax
inc ebx
cmp ebx, esi
ja 0x40128f
mov edi, ebx
mov dword [esp + 0x38], ebx
mov ebx, ecx
add ebx, eax
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
mov ebp, dword [esp + 0x68]
cmp eax, ebp
jl 0x4011f6
mov dword [esp], 0
mov ebx, dword [esp + 0x34]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
call fcn.00440a30
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x7c], ebx
add esp, 0x64
ret
mov dword [esp], 0x5c5000
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.0043cd90
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, eax
inc edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x34], ecx
jmp 0x401241
call fcn.004291a0
ud2
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x40116e
call fcn.004518d0
jmp fcn.00401110
Function at 0x40a9d0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40ab5b
sub esp, 0xc
mov eax, dword [esp + 0x14]
xor ebp, ebp
cmp eax, ebp
je 0x40ab4e
mov ebp, dword [eax]
cmp ebp, 0
je 0x40ab4e
movzx ebp, byte [eax + 4]
mov ebx, ebp
and ebx, 4
cmp bl, 0
je 0x40aa29
mov ebx, 0x5ff345
mov dword [esp], ebx
mov dword [esp + 4], 0x21
call fcn.0042ae60
mov eax, dword [esp + 0x14]
movzx ebp, byte [eax + 5]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x40aaac
mov ecx, dword [eax + 0xc]
xor eax, eax
cmp eax, 8
jae 0x40aa5a
mov esi, eax
shl esi, 2
add esi, 8
mov ebx, ecx
add ebx, esi
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x40aa80
inc eax
cmp eax, 8
jb 0x40aa3e
mov eax, dword [esp + 0x10]
movzx ebp, word [eax + 0x34]
mov eax, ebp
sub eax, 4
mov ebx, ecx
add ebx, eax
mov ecx, dword [ebx]
xor ebp, ebp
cmp ecx, ebp
jne 0x40aa37
mov ebx, 0x6db6c0
mov dword [esp + 0x1c], ebx
add esp, 0xc
ret
mov ebx, ecx
add ebx, eax
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
je 0x40aa54
mov ebx, dword [esp + 0x10]
movzx ebp, byte [ebx + 0x32]
mov ebx, ebp
imul ebx, eax
add ebx, 0x28
mov eax, ebx
mov ebx, ecx
add ebx, eax
mov dword [esp + 0x1c], ebx
add esp, 0xc
ret
lea ebx, [esp + 0x18]
xor ebx, 0
mov dword [esp], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebp + 0x10]
mov edx, dword [esi]
mov ebx, dword [edx]
call ebx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 8]
movzx ecx, byte [edi + 5]
mov ebx, 1
cmp cl, 0x20
jae 0x40ab4a
shl ebx, cl
dec ebx
mov edx, ebx
mov eax, esi
and eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx + 0x34]
imul eax, ebp
mov ecx, dword [edi + 0xc]
add ecx, eax
mov eax, dword [edi + 0x10]
xor ebp, ebp
cmp eax, ebp
je 0x40aa37
shr edx, 1
and edx, esi
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx + 0x34]
mov ebx, ebp
mov ebp, edx
imul ebp, ebx
mov edx, eax
add edx, ebp
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jbe 0x40ab46
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jae 0x40ab46
mov eax, 1
cmp al, 0
jne 0x40aa37
mov ecx, edx
jmp 0x40aa37
xor eax, eax
jmp 0x40ab36
xor ebx, ebx
jmp 0x40aae3
mov ebx, 0x6db6c0
mov dword [esp + 0x1c], ebx
add esp, 0xc
ret
call fcn.004518d0
jmp fcn.0040a9d0
Function at 0x40ab70
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40ad0e
sub esp, 0xc
mov eax, dword [esp + 0x14]
xor ebp, ebp
cmp eax, ebp
je 0x40acfc
mov ebp, dword [eax]
cmp ebp, 0
je 0x40acfc
movzx ebp, byte [eax + 4]
mov ebx, ebp
and ebx, 4
cmp bl, 0
je 0x40abc9
mov ebx, 0x5ff345
mov dword [esp], ebx
mov dword [esp + 4], 0x21
call fcn.0042ae60
mov eax, dword [esp + 0x14]
movzx ebp, byte [eax + 5]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x40ac5a
mov ecx, dword [eax + 0xc]
xor eax, eax
cmp eax, 8
jae 0x40abfe
mov esi, eax
shl esi, 2
add esi, 8
mov ebx, ecx
add ebx, esi
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x18]
cmp ebx, ebp
je 0x40ac29
inc eax
cmp eax, 8
jb 0x40abe2
mov eax, dword [esp + 0x10]
movzx ebp, word [eax + 0x34]
mov eax, ebp
sub eax, 4
mov ebx, ecx
add ebx, eax
mov ecx, dword [ebx]
xor ebp, ebp
cmp ecx, ebp
jne 0x40abdb
mov ebx, 0x6db6c0
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x20], 0
add esp, 0xc
ret
mov ebx, ecx
add ebx, eax
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
je 0x40abf8
mov ebx, dword [esp + 0x10]
movzx ebp, byte [ebx + 0x32]
mov ebx, ebp
imul ebx, eax
add ebx, 0x28
mov eax, ebx
mov ebx, ecx
add ebx, eax
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x20], 1
add esp, 0xc
ret
lea ebx, [esp + 0x18]
xor ebx, 0
mov dword [esp], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebp + 0x10]
mov edx, dword [esi]
mov ebx, dword [edx]
call ebx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 8]
movzx ecx, byte [edi + 5]
mov ebx, 1
cmp cl, 0x20
jae 0x40acf8
shl ebx, cl
dec ebx
mov edx, ebx
mov eax, esi
and eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx + 0x34]
imul eax, ebp
mov ecx, dword [edi + 0xc]
add ecx, eax
mov eax, dword [edi + 0x10]
xor ebp, ebp
cmp eax, ebp
je 0x40abdb
shr edx, 1
and edx, esi
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx + 0x34]
mov ebx, ebp
mov ebp, edx
imul ebp, ebx
mov edx, eax
add edx, ebp
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jbe 0x40acf4
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jae 0x40acf4
mov eax, 1
cmp al, 0
jne 0x40abdb
mov ecx, edx
jmp 0x40abdb
xor eax, eax
jmp 0x40ace4
xor ebx, ebx
jmp 0x40ac91
mov ebx, 0x6db6c0
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x20], 0
add esp, 0xc
ret
call fcn.004518d0
jmp fcn.0040ab70
Function at 0x40ad20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40aeb2
sub esp, 0xc
mov eax, dword [esp + 0x14]
xor ebp, ebp
cmp eax, ebp
je 0x40aea5
mov ebp, dword [eax]
cmp ebp, 0
je 0x40aea5
movzx ebp, byte [eax + 4]
mov ebx, ebp
and ebx, 4
cmp bl, 0
je 0x40ad79
mov ebx, 0x5ff345
mov dword [esp], ebx
mov dword [esp + 4], 0x21
call fcn.0042ae60
mov eax, dword [esp + 0x14]
movzx ebp, byte [eax + 5]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x40ae03
mov edx, dword [eax + 0xc]
xor ecx, ecx
cmp ecx, 8
jae 0x40adb1
mov esi, ecx
shl esi, 3
add esi, 8
mov ebx, edx
add ebx, esi
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
cmp eax, dword [esp + 0x1c]
jne 0x40adab
cmp esi, dword [esp + 0x18]
je 0x40add7
inc ecx
cmp ecx, 8
jb 0x40ad8e
mov eax, dword [esp + 0x10]
movzx ebp, word [eax + 0x34]
mov eax, ebp
sub eax, 4
mov ebx, edx
add ebx, eax
mov edx, dword [ebx]
xor ebp, ebp
cmp edx, ebp
jne 0x40ad87
mov ebx, 0x6db6c0
mov dword [esp + 0x20], ebx
add esp, 0xc
ret
mov ebx, edx
add ebx, ecx
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
je 0x40adab
mov eax, edx
mov ebx, dword [esp + 0x10]
movzx ebp, byte [ebx + 0x32]
mov edx, ebp
imul edx, ecx
add edx, 0x48
mov ebx, eax
add ebx, edx
mov dword [esp + 0x20], ebx
add esp, 0xc
ret
lea ebx, [esp + 0x18]
xor ebx, 0
mov dword [esp], ebx
mov ebp, dword [eax + 8]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x10]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebp + 0x10]
mov edx, dword [esi]
mov ebx, dword [edx]
call ebx
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 8]
movzx ecx, byte [edi + 5]
mov ebx, 1
cmp cl, 0x20
jae 0x40aea1
shl ebx, cl
dec ebx
mov ecx, ebx
mov eax, esi
and eax, ebx
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx + 0x34]
imul eax, ebp
mov edx, dword [edi + 0xc]
add edx, eax
mov eax, dword [edi + 0x10]
xor ebp, ebp
cmp eax, ebp
je 0x40ad87
shr ecx, 1
and ecx, esi
mov ebx, dword [esp + 0x10]
movzx ebp, word [ebx + 0x34]
mov ebx, ebp
mov ebp, ecx
imul ebp, ebx
mov ecx, eax
add ecx, ebp
movzx ebp, byte [ecx]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jbe 0x40ae9d
xchg ebp, eax
cmp al, 4
xchg ebp, eax
jae 0x40ae9d
mov eax, 1
cmp al, 0
jne 0x40ad87
mov edx, ecx
jmp 0x40ad87
xor eax, eax
jmp 0x40ae8d
xor ebx, ebx
jmp 0x40ae3a
mov ebx, 0x6db6c0
mov dword [esp + 0x20], ebx
add esp, 0xc
ret
call fcn.004518d0
jmp fcn.0040ad20
Function at 0x422db0
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x422fc3
sub esp, 0x34
mov ecx, dword [esp + 0x38]
movzx ebp, byte [ecx + 6]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jne 0x422ea7
mov ebx, dword [esp + 0x3c]
mov dword [esp], ebx
mov ebp, dword [ecx + 8]
mov dword [esp + 4], ebp
mov ebp, dword [ecx + 0xc]
mov dword [esp + 8], ebp
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x20], ecx
mov ebp, dword [ecx + 0x14]
mov dword [esp + 0x10], ebp
call fcn.00414110
mov ebx, 0x6ccae0
mov dword [esp], ebx
add dword [esp], 0x2218
call fcn.0040d470
mov eax, 0x6ccae0
add eax, 0x21d8
mov edx, dword [esp + 0x20]
mov ebp, dword [eax + 0x18]
mov ebx, dword [eax]
sub ebp, ebx
mov dword [eax + 0x18], ebp
mov dword [esp + 0x28], eax
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x18], edx
cmp edx, 0
je 0x422ea3
cmp byte [0x6dae38], 0
jne 0x422e8d
mov dword [edx], ebp
cmp eax, 0
je 0x422e89
cmp byte [0x6dae38], 0
jne 0x422e78
mov dword [eax + 0xc], edx
mov ebx, 0x6ccae0
mov dword [esp], ebx
add dword [esp], 0x2218
call fcn.0040d6b0
add esp, 0x34
ret
lea esi, [eax + 0xc]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.0040fcf0
jmp 0x422e60
mov dword [eax], eax
jmp 0x422e54
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040fcf0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
jmp 0x422e4f
mov dword [edx], eax
jmp 0x422e44
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x422f69
mov dword [esp + 0x1c], ecx
mov ebp, dword [ecx + 8]
mov dword [esp], ebp
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], ebx
call fcn.00423d00
mov ebx, 0x6ccae0
mov dword [esp], ebx
add dword [esp], 0x2218
call fcn.0040d470
mov eax, 0x6ccae0
add eax, 0x21f8
mov edx, dword [esp + 0x1c]
mov ebp, dword [eax + 0x18]
mov ebx, dword [eax]
sub ebp, ebx
mov dword [eax + 0x18], ebp
mov dword [esp + 0x24], eax
mov ebp, dword [eax + 0xc]
mov dword [esp + 0x14], edx
cmp edx, 0
je 0x422f65
cmp byte [0x6dae38], 0
jne 0x422f4f
mov dword [edx], ebp
cmp eax, 0
je 0x422f4b
cmp byte [0x6dae38], 0
jne 0x422f3a
mov dword [eax + 0xc], edx
mov ebx, 0x6ccae0
mov dword [esp], ebx
add dword [esp], 0x2218
call fcn.0040d6b0
jmp 0x422e74
lea esi, [eax + 0xc]
mov dword [esp], esi
mov dword [esp + 4], edx
call fcn.0040fcf0
jmp 0x422f21
mov dword [eax], eax
jmp 0x422f15
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.0040fcf0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
jmp 0x422f10
mov dword [edx], eax
jmp 0x422f05
mov ebx, 0x5f9943
mov dword [esp], ebx
mov dword [esp + 4], 0x10
call fcn.0042ae60
mov ebx, 0x5f842f
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0xb
mov dword [esp], 0x5c4e00
lea ebx, [esp + 0x2c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040c410
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.0042a780
ud2
call fcn.004518d0
jmp fcn.00422db0
Function at 0x4242b0
Capabilities:
Access peb ldr_data

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x424411
sub esp, 0x28
mov ebx, 0x6dad70
mov dword [esp], ebx
call fcn.0040d470
mov ebx, dword fs:[0x14]
mov ecx, dword [ebx]
mov eax, 2
mov dword [esp + 0x14], ecx
mov ebp, dword [ecx + 0x18]
mov byte [ebp + 0x1ed], al
mov ebx, dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.0042b640
mov ebx, 0x5f7fe0
mov dword [esp], ebx
mov dword [esp + 4], 0xa
call fcn.0042c050
mov ebx, dword [esp + 0x2c]
mov dword [esp], ebx
call fcn.0042c010
mov ebx, 0x5f6767
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0042c050
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
call fcn.0042bee0
mov ebx, 0x5f6765
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0042c050
call fcn.0042b6c0
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
call fcn.00448f00
lea ebx, [esp + 0x2c]
mov dword [esp], ebx
call fcn.00453170
mov ebx, dword [esp + 4]
mov dword [esp + 8], ebx
lea ebx, [esp + 0x2c]
mov dword [esp], ebx
call fcn.004531d0
mov edx, dword [esp + 4]
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x18]
mov ecx, 0x44dca0
mov dword [eax], ecx
mov ecx, dword [esp + 8]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0xc], ecx
mov dword [esp], eax
call fcn.004517c0
call fcn.0042b640
mov ebx, 0x5f6746
mov dword [esp], ebx
mov dword [esp + 4], 1
call fcn.0042c050
call fcn.0042b6c0
xor eax, eax
mov ebx, dword [esp + 0x14]
mov ebp, dword [ebx + 0x18]
mov byte [ebp + 0x1ed], al
mov ebx, 0x6dad70
mov dword [esp], ebx
call fcn.0040d6b0
add esp, 0x28
ret
call fcn.004518d0
jmp fcn.004242b0
Function at 0x424aa0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x424c2c
sub esp, 0x34
mov eax, dword [esp + 0x38]
xor ebx, ebx
mov byte [esp + 0x3c], bl
mov dword [esp + 0x40], ebx
mov byte [esp + 0x44], bl
mov dword [esp + 0x48], ebx
xor edx, edx
mov byte [esp + 0x24], dl
mov dword [esp + 0x28], edx
mov byte [esp + 0x2c], dl
mov ebx, eax
dec ebx
and ebx, eax
cmp ebx, 0
jne 0x424c21
mov ebx, eax
dec ebx
xor ebx, 0xffffffff
mov dword [esp + 0x30], ebx
mov ebx, eax
and ebx, 1
cmp ebx, 0
jne 0x424b14
mov ebx, edx
inc ebx
mov edx, ebx
mov byte [esp + 0x24], bl
shr eax, 1
mov ebx, eax
and ebx, 1
cmp ebx, 0
je 0x424aff
mov ebp, 0x3f
mov dword [esp + 0x38], eax
xor esi, esi
mov edi, eax
mov eax, 1
xor edx, edx
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
xchg ebp, eax
mov byte [esp + 0x1b], al
xchg ebp, eax
cmp ecx, 0x40
jae 0x424c18
cmp ecx, 0x20
jae 0x424c0d
shld edx, eax, cl
shl eax, cl
add eax, edi
adc edx, esi
sub eax, 1
sbb edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x1c], edi
mov dword [esp + 8], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0xc], esi
call fcn.0044bdb0
movzx ebp, byte [esp + 0x1b]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
cmp eax, 1
jb 0x424b9a
jbe 0x424b93
mov ebx, ebp
dec ebx
mov ebp, ebx
jmp 0x424b21
cmp edx, 0
jb 0x424b9a
jmp 0x424b8c
mov eax, 1
xor edx, edx
xchg ebp, eax
movzx ecx, al
xchg ebp, eax
cmp ecx, 0x40
jae 0x424c07
cmp ecx, 0x20
jae 0x424bff
shld edx, eax, cl
shl eax, cl
add eax, edi
adc edx, esi
sub eax, 1
sbb edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
call fcn.0044bdb0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
movzx ebx, byte [esp + 0x1b]
mov eax, ebx
movzx ebx, byte [esp + 0x24]
mov byte [esp + 0x3c], bl
mov dword [esp + 0x40], ecx
mov byte [esp + 0x44], al
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x48], ebx
add esp, 0x34
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x424bb5
xor edx, edx
xor eax, eax
jmp 0x424bab
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x424b4a
xor edx, edx
xor eax, eax
jmp 0x424b3c
xor ecx, ecx
mov dword [esp + 0x30], ecx
jmp 0x424af5
call fcn.004518d0
jmp fcn.00424aa0
Function at 0x432070
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x3c
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x70]
inc edx
mov dword [ecx + 0x70], edx
mov ecx, 1
mov byte [eax + 0x85], cl
mov ecx, 0xfffffade
mov dword [eax + 8], ecx
mov ebp, dword [eax + 0x18]
mov ebx, dword [ebp + 0x54]
mov ecx, dword [ebx + 0x14]
mov ebp, dword [eax + 0x18]
mov dword [ebp + 0x204], ecx
mov ecx, 1
mov byte [eax + 0x87], cl
mov dword [esp + 0x18], eax
mov ebp, dword [eax + 0x18]
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax + 0x14]
inc ecx
mov dword [eax + 0x14], ecx
lea ebx, [esp + 0x40]
mov dword [esp], ebx
call fcn.00453170
mov ebx, dword [esp + 4]
mov dword [esp + 0x10], ebx
lea ebx, [esp + 0x40]
mov dword [esp], ebx
call fcn.004531d0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xc], esi
mov ebx, dword fs:[0x14]
mov ecx, dword [ebx]
mov dword [ecx + 0x24], ebp
mov dword [ecx + 0x20], esi
xor edx, edx
mov dword [ecx + 0x34], edx
xor edx, edx
mov dword [ecx + 0x30], edx
xor edx, edx
mov dword [ecx + 0x2c], edx
mov dword [ecx + 0x28], ecx
mov ebp, dword [eax + 0x20]
mov dword [eax + 0x3c], ebp
mov ebp, dword [eax + 0x24]
mov dword [eax + 0x40], ebp
mov edx, dword [eax + 0x3c]
mov ebp, dword [eax]
cmp edx, ebp
jb 0x432212
mov edx, dword [eax + 4]
mov ebp, dword [eax + 0x3c]
cmp edx, ebp
jb 0x432212
mov dword [esp], eax
mov dword [esp + 4], 2
mov dword [esp + 8], 3
call fcn.0042e2b0
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x3c]
mov ebp, dword [ecx]
cmp eax, ebp
jb 0x4321e2
mov eax, dword [ecx + 4]
mov ebp, dword [ecx + 0x3c]
cmp eax, ebp
jb 0x4321e2
mov ebx, 0x61ae7c
mov dword [esp], ebx
call fcn.004517c0
lea ebx, [esp + 0x40]
mov dword [esp], ebx
call fcn.00453170
mov ebx, dword [esp + 4]
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x40]
mov dword [esp], ebx
call fcn.004531d0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x14]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], ecx
xor ecx, ecx
mov dword [eax + 0x34], ecx
xor ecx, ecx
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x28], eax
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 0x70]
dec ecx
mov dword [eax + 0x70], ecx
add esp, 0x3c
ret
xor eax, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1c]
mov edx, 0x44e2e0
mov dword [eax], edx
mov edx, dword [esp + 0xc]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov dword [esp], eax
call fcn.004517c0
jmp 0x432176
mov edi, esi
mov esi, dword [eax + 0x20]
mov edx, dword [eax + 0x3c]
xor ecx, ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x14], 0x44e170
mov ebp, dword [esp + 0x14]
mov dword [ecx], ebp
mov dword [ecx + 4], edi
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], eax
mov dword [esp], ecx
call fcn.004517c0
mov eax, dword [esp + 0x18]
jmp 0x432147
Function at 0x440f70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x44113a
sub esp, 0x64
xor ebx, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
xor ebx, ebx
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], bl
xor eax, eax
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x60], ebx
xor edx, edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x58], ebp
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
cmp edx, ebp
jge 0x441032
mov dword [esp + 0x34], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
lea ebx, [esp + 0x20]
cmp ebx, 0
je 0x441133
mov ebp, 4
mov edx, 4
mov dword [esp + 0x4c], ebx
mov dword [esp], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.004375c0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x34]
add ecx, 4
mov edx, dword [esp + 0x30]
inc edx
mov ebp, dword [esp + 0x2c]
cmp edx, ebp
jl 0x440fcf
mov ebx, dword [esp + 0x68]
mov dword [esp], ebx
mov ebx, eax
mov dword [esp + 0x1c], eax
add ebx, 3
mov dword [esp + 4], ebx
call fcn.00440b00
mov ebx, dword [esp + 8]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x48], ebx
xor eax, eax
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x60], ebx
xor edx, edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x58], ebp
mov ecx, ebp
mov ebp, dword [esp + 0x2c]
cmp edx, ebp
jge 0x4410af
mov dword [esp + 0x34], ecx
mov esi, dword [ecx]
mov dword [esp + 0x30], edx
mov ebp, dword [esp + 0x1c]
cmp eax, ebp
jl 0x4410ce
mov ebx, dword [esp + 0x3c]
cmp eax, ebx
ja 0x4410c7
mov edx, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
add esp, 0x64
ret
call fcn.00429210
ud2
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
cmp eax, ecx
ja 0x44112c
mov ebp, ecx
sub ebp, eax
sub edx, eax
mov ecx, dword [esp + 0x40]
cmp edx, 0
je 0x4410ef
add ecx, eax
mov dword [esp + 0x4c], ecx
mov dword [esp], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
call fcn.004375c0
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
add ebx, eax
mov eax, ebx
mov ecx, dword [esp + 0x34]
add ecx, 4
mov edx, dword [esp + 0x30]
inc edx
jmp 0x441095
call fcn.00429210
ud2
mov dword [ebx], eax
jmp 0x440fea
call fcn.004518d0
jmp fcn.00440f70