joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4619e8
Capabilities:
Parse credit card information

Disassembly:
cmp dword [esp + 0x38], 0
jg 0x461a28
jl 0x4619c3
cmp dword [esp + 0x30], 9
ja 0x461a28
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461a0c
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
or byte [ebx - 0x53f0fbc0], cl
ror dword [ecx], 0x83
loope fcn.004619f4
shr eax, 9
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461aa7
jl 0x461a42
cmp dword [esp + 0x30], 0xa
ja 0x461aa7
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461a8b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xa
and ecx, 1
shr eax, 0xa
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461b26
jl 0x461ac1
cmp dword [esp + 0x30], 0xb
ja 0x461b26
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
invalid
clc
Function at 0x4619f4
Capabilities:
Parse credit card information

Disassembly:
cmp dword [esp + 0x38], 0
jg 0x461a28
jl 0x4619c3
cmp dword [esp + 0x30], 9
ja 0x461a28
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461a0c
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
or byte [ebx - 0x53f0fbc0], cl
ror dword [ecx], 0x83
loope fcn.004619f4
shr eax, 9
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461aa7
jl 0x461a42
cmp dword [esp + 0x30], 0xa
ja 0x461aa7
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461a8b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xa
and ecx, 1
shr eax, 0xa
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461b26
jl 0x461ac1
cmp dword [esp + 0x30], 0xb
ja 0x461b26
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
invalid
clc
Function at 0x461a29
Capabilities:
Parse credit card information

Disassembly:
cmp dword [esp + 0x38], 0
jg 0x461a28
jl 0x4619c3
cmp dword [esp + 0x30], 9
ja 0x461a28
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461a0c
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
or byte [ebx - 0x53f0fbc0], cl
ror dword [ecx], 0x83
loope fcn.004619f4
shr eax, 9
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461aa7
jl 0x461a42
cmp dword [esp + 0x30], 0xa
ja 0x461aa7
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461a8b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xa
and ecx, 1
shr eax, 0xa
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461b26
jl 0x461ac1
cmp dword [esp + 0x30], 0xb
ja 0x461b26
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
invalid
clc
Function at 0x461b28
Capabilities:
Parse credit card information

Disassembly:
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461ba5
jl 0x461b40
cmp dword [esp + 0x30], 0xc
ja 0x461ba5
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461b89
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
or byte [ebx - 0x53f0fbc0], cl
ror dword [ebx + eax*4], 0xe1
add ecx, eax
call 0x24921e82
sbb byte [ecx - 0x75], dl
dec esp
and al, 0x20
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461c24
jl 0x461bbf
cmp dword [esp + 0x30], 0xd
ja 0x461c24
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461c08
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xd
and ecx, 1
shr eax, 0xd
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461ca3
jl 0x461c3e
cmp dword [esp + 0x30], 0xe
ja 0x461ca3
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
Function at 0x461b65
Capabilities:
Parse credit card information

Disassembly:
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461ba5
jl 0x461b40
cmp dword [esp + 0x30], 0xc
ja 0x461ba5
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461b89
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
or byte [ebx - 0x53f0fbc0], cl
ror dword [ebx + eax*4], 0xe1
add ecx, eax
call 0x24921e82
sbb byte [ecx - 0x75], dl
dec esp
and al, 0x20
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461c24
jl 0x461bbf
cmp dword [esp + 0x30], 0xd
ja 0x461c24
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461c08
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xd
and ecx, 1
shr eax, 0xd
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461ca3
jl 0x461c3e
cmp dword [esp + 0x30], 0xe
ja 0x461ca3
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx

Function at 0x461c4d
Capabilities:
Parse credit card information

Disassembly:
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461c87
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xe
and ecx, 1
shr eax, 0xe
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
and al, 0x28
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461d22
jl 0x461cbd
cmp dword [esp + 0x30], 0xf
ja 0x461d22
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
retf 0xd133
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461d06
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xf
and ecx, 1
shr eax, 0xf
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
Function at 0x461ca1
Capabilities:
Parse credit card information

Disassembly:
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461c87
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xe
and ecx, 1
shr eax, 0xe
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
and al, 0x28
mov eax, ecx
or eax, edx
je 0x4634c0
cmp dword [esp + 0x38], 0
jg 0x461d22
jl 0x461cbd
cmp dword [esp + 0x30], 0xf
ja 0x461d22
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
retf 0xd133
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x461d06
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
shrd ecx, eax, 0xf
and ecx, 1
shr eax, 0xf
add ecx, dword [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
Function at 0x461d74
Capabilities:
Parse credit card information

Disassembly:
mov ecx, dword [esp + 0x20]
call 0xfff69dd0
test eax, eax
js 0x468044
Function at 0x462826
Capabilities:
Parse credit card information

Disassembly:
xor edx, edx
xor ecx, ecx
mov eax, esi
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
and edx, dword [ebx]
and ecx, dword [ebx + 4]
or edx, ecx
je 0x46286f
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov cl, 0x26
call 0x15ab8d0
mov ecx, dword [esp + 0x1c]
and eax, 1
add eax, dword [esp + 0x18]
push eax
call 0xfff69dd0
test eax, eax
js 0x468044
mov ecx, dword [esp + 0x10]
add esi, 1
mov edx, dword [esp + 0x28]
adc edi, 0
add ecx, 0xffffffff
mov dword [esp + 0x10], ecx
adc edx, 0xffffffff
mov dword [esp + 0x28], edx
Function at 0x4f3830
Capabilities:
Encode data using xor

Disassembly:
dec ecx
add byte [esi], ch
je 0x4f3836
add byte gs:[edx], dh
outsd dx, dword [esi]
add byte [eax], dh
add byte cs:[esi], al
outsd dx, dword [esi]
add byte [edx], dh
insd dword es:[edi], dx
add byte [ebx], dh
sub al, 0
and byte [eax], al
push esi
add byte [ebp], ah
jb 0x4f3854
jae 0x4f3856
imul eax, dword [eax], 0x6e006f
cmp eax, 0x31003100
add byte [esi], ch
add byte [eax], dh
add byte [esi], ch
add byte [eax], dh
add byte [esi], ch
add byte [eax], dh
add byte [eax + eax], ch
and byte [eax], al
inc ebx
add byte [ebp], dh
insb byte es:[edi], dx
add byte [eax + eax + 0x75], dh
add byte [edx], dh
add byte gs:[0x65006e00], bh
add byte [ebp], dh
je 0x4f388a
jb 0x4f388c
popal
add byte [eax + eax + 0x2c], ch
add byte [eax], ah
add byte [eax], dl
jne 0x4f3898
bound eax, qword [eax]
insb byte es:[edi], dx
add byte [ecx], ch
arpl word [eax], ax
dec ebx
add byte [ebp], ah
jns 0x4f38a6
push esp
add byte [edi], ch
imul eax, dword [eax], 0x65
add byte [esi], ch
cmp eax, 0x31003700
add byte [ebp], al
cmp dword [eax], eax
inc edx
add byte [ebx], al
inc ebp
add byte [ecx], dh
add byte [ecx], dh
add byte [ecx], dh
add byte [ebp], al
cmp dword [eax], eax
xor al, 0
xor al, byte [eax]
cmp dword [eax], eax
inc ebx
add byte [eax], al
add byte [ecx], al
or al, 0
dec eax
add byte [eax], al
add byte [ebx], al
insb byte es:[edi], dx
add byte [ecx], ah
jae 0x4f38e3
jae 0x4f38e5
add byte [eax], al
dec ebp
add byte [ecx], ch
arpl word [eax], ax
jb 0x4f38ef
outsd dx, dword [esi]
add byte [ebx], dh
outsd dx, dword [esi]
add byte [esi], ah
je 0x4f38f9
add byte cs:[esi], dl
bound eax, qword [eax]
add byte gs:[esi], ch
add byte [ecx], cl
outsb dx, byte [esi]
add byte [eax + eax + 0x65], dh
add byte [edx], dh
outsd dx, dword [esi]
add byte [eax], dh
add byte cs:[esi], al
outsd dx, dword [esi]
add byte [edx], dh
insd dword es:[edi], dx
add byte [ebx], dh
add byte cs:[esi], ah
insd dword es:[edi], dx
add byte [ebx], al
jns 0x4f3927
arpl word [eax], ax
insb byte es:[edi], dx
add byte [ebp], ah
add byte [eax], al
add dword [esi], ebx
add byte [esi], dl
add byte [eax], al
add byte [edx], dl
jne 0x4f393a
outsb dx, byte [esi]
add byte [eax + eax + 0x69], dh
add byte [ebp], ch
add byte gs:[esi], dl
add byte gs:[edx], dh
jae 0x4f394c
imul eax, dword [eax], 0x6e006f
add byte [eax], al
jbe 0x4f3956
xor al, byte [eax]
add byte cs:[eax], dh
add byte [esi], ch
add byte [0x37003000], dh
xor byte [eax], al
add byte cs:[0x37003000], dh
add byte [edx], dh
add byte [edi], dh
add byte [eax], al
add byte [ecx], al
jg 0x4f395a
pop es
add byte [ecx], al
Function at 0x501410
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 8]
push esi
mov esi, ecx
test edx, edx
je 0x5373a7
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov dword [ecx + edx], eax
mov dword [esi], edx
pop esi
pop ebp
ret 4

Function at 0x5018e0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push edi
mov edi, ecx
cmp dword [edi + 0x20], 0
mov dword [edi + 0x288], eax
jne 0x537235
pop edi
pop ebp
ret 4

Function at 0x501910
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push edi
mov edi, ecx
cmp dword [edi + 0x284], eax
je 0x501931
cmp dword [edi + 0x20], 0
mov dword [edi + 0x284], eax
jne 0x5371c4
pop edi
pop ebp
ret 4
jb 0x5371ef
imul ebp, dword [ecx], 0x65677b2c
je 0x53721f
outsb dx, byte [esi]
Function at 0x5038e2
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
mov eax, dword [esi + 0x18]
not eax
test al, 1
je 0x53ad70
mov ecx, dword [esi + 0x28]
lea eax, [ecx + 1]
cmp eax, dword [esi + 0x2c]
ja 0x53ad61
mov al, byte [ebp + 8]
mov byte [ecx], al
mov eax, esi
inc dword [esi + 0x28]
pop esi
pop ebp
ret 4
jge 0x53adef
sub al, 0x44

Function at 0x503ce5
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
test byte [esi + 0x18], 1
je 0x53ad95
mov ecx, dword [esi + 0x28]
lea eax, [ecx + 1]
cmp eax, dword [esi + 0x2c]
ja 0x53ad81
mov eax, dword [ebp + 8]
mov cl, byte [ecx]
mov byte [eax], cl
mov eax, esi
inc dword [esi + 0x28]
pop esi
pop ebp
ret 4
inc esi

Function at 0x506770
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebx]
test edi, edi
jne 0x53c93f
pop edi
pop ebx
pop ebp
ret 4
Function at 0x50b640
Capabilities:
Get number of processors

Disassembly:
push esi
mov esi, ecx
lea ecx, [esi + 0xdb4]
mov dword [esi], 0x1000283c
mov dword [ecx], 0x10041910
call fcn.004f9183
push dword [esi + 0xd9c]
mov dword [esi + 0xd98], 0x10052078
call dword [0x10338414]
pop ecx
mov ecx, esi
pop esi
jmp fcn.00537610
Function at 0x50f7b0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, ecx
mov ecx, dword [ebp + 0x14]
mov dword [edi + 0xc30], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 0xc14], eax
mov dword [edi + 0xc18], esi
mov dword [edi + 0xc1c], ecx
mov dword [edi + 0xc24], eax
mov dword [edi + 0xc2c], ecx
mov dword [edi + 0xc10], edx
mov dword [edi + 0xc20], edx
mov dword [edi + 0xc28], esi
mov dword [edi + 0x310], ecx
mov dword [edi + 0x30c], esi
mov eax, dword [edi + 0xc18]
mov ecx, dword [edi + 0xc1c]
mov dword [edi + 0x99c], eax
mov dword [edi + 0x9a0], ecx
mov eax, dword [edi + 0xc18]
mov ecx, dword [edi + 0xc1c]
mov dword [edi + 0x424], eax
mov dword [edi + 0x428], ecx
mov eax, dword [edi + 0xc18]
mov ecx, dword [edi + 0xc1c]
mov dword [edi + 0x53c], eax
mov dword [edi + 0x540], ecx
mov eax, dword [edi + 0xc18]
mov ecx, dword [edi + 0xc1c]
mov dword [edi + 0xab4], eax
mov dword [edi + 0xab8], ecx
fild dword [edi + 0xc18]
fstp qword [esp + 8]
fld qword [esp + 8]
fmul qword [0x103290c0]
fld qword [0x1004f6b0]
fadd st(1), st(0)
fxch st(1)
call fcn.004e7291
fild dword [edi + 0xc1c]
mov esi, eax
fstp qword [esp + 8]
fld qword [esp + 8]
fmul qword [0x103290c0]
fadd st(1)
call fcn.004e7291
mov dword [edi + 0x654], esi
mov dword [edi + 0x658], eax
mov dword [edi + 0x76c], esi
mov dword [edi + 0x770], eax
mov dword [edi + 0x884], esi
mov dword [edi + 0x888], eax
cmp dword [0x1032abac], 0
jne 0x5377f9
fstp st(0)
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14

Function at 0x50fb40
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
cmp eax, dword [edi*8 + 0x1007b600]
je 0x53b979
inc edi
cmp edi, 4
jl 0x50fb4c
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret 8
jb 0x53b9f4
insb byte es:[edi], dx
Function at 0x50fce0
Capabilities:
Get number of processors

Disassembly:
cmp dword [ebp + 0x14], 0xffffffff
jne 0x50fcfb
xor eax, eax
jmp 0x50fe77
mov edi, esi
mov dword [ebp - 0x24], esi
jmp 0x50fd59
push 0x54
mov eax, 0x103057ca
call fcn.0049c2a0
mov ebx, dword [ebp + 8]
xor esi, esi
cmp dword [ebx], esi
je 0x50fcc3
cmp dword [ebp + 0x10], 0xffffffff
jne 0x50fcbd
mov dword [ebp - 0x38], 0x1005086c
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
push esi
mov dword [ebp - 4], esi
call dword [0x103389c4]
push eax
lea ecx, [ebp - 0x38]
call fcn.004e6e70
lea eax, [ebp - 0x60]
push eax
push 0x18
pop eax
push eax
push dword [ebx]
call dword [0x103389cc]
test eax, eax
je 0x50fe6a
cmp dword [ebx], 0
jne 0x53bda0
jmp 0x50fcca
test edi, edi
je 0x50fe6a
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x5c]
push ecx
push eax
push dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], ecx
call dword [0x10338980]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x53bdbb
mov dword [ebp - 0x48], 0x1005086c
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov byte [ebp - 4], 1
push dword [ebp - 0x34]
call dword [0x103389c4]
push eax
lea ecx, [ebp - 0x48]
call fcn.004e6e70
push dword [ebp - 0x1c]
push dword [ebp - 0x44]
call dword [0x103389bc]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x53bdcd
push 0xcc0020
push esi
push esi
push dword [ebp - 0x34]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
push esi
push esi
push dword [ebp - 0x44]
call dword [0x10338978]
mov ecx, dword [ebp - 0x14]
mov eax, esi
mov dword [ebp - 0x18], eax
test ecx, ecx
jg 0x53bdeb
push dword [ebp - 0x28]
push dword [ebp - 0x44]
call dword [0x103389bc]
push edi
push dword [ebp - 0x34]
call dword [0x103389bc]
push dword [ebx]
call dword [0x103389c0]
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebx], eax
inc esi
lea ecx, [ebp - 0x48]
call fcn.004e6f20
lea ecx, [ebp - 0x38]
call fcn.004e6f20
mov eax, esi
call fcn.0049c310
ret 0x10
cmp eax, 0x2e663d3d

Function at 0x510295
Capabilities:
Get number of processors

Disassembly:
fld qword [ecx + 0xb8]
fld1
fucompp
fnstsw ax
test ah, 0x44
jp 0x53756d
xor eax, eax
ret
and byte [ecx + 0x3d], ch
dec ebp
popal
je 0x5375dc
arpl word cs:[ebp + 0x69], sp
je 0x537636
cmp ch, byte [edi + 0x2c]
je 0x537652
outsb dx, byte [esi]
insb byte es:[edi], dx
Function at 0x5102b0
Capabilities:
Get number of processors

Disassembly:
push 0x184
mov eax, 0x103053a1
call fcn.00498062
mov edi, ecx
mov ebx, dword [ebp + 8]
xor esi, esi
cmp dword [edi + 0x28], esi
jne 0x53b7f1
mov dword [ebp - 0x150], esi
cmp dword [0x1032abec], esi
jne 0x53b7f9
mov ecx, edi
call fcn.00510295
test eax, eax
jne 0x53b832
mov dword [ebp - 0x144], 0x1005086c
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x13c], esi
mov dword [ebp - 0x138], esi
push esi
mov dword [ebp - 4], 1
call dword [0x103389c4]
push eax
lea ecx, [ebp - 0x144]
call fcn.004e6e70
lea eax, [ebp - 0x178]
push eax
push 0x18
push ebx
call dword [0x103389cc]
test eax, eax
je 0x510393
cmp dword [ebp + 0xc], 0
jne 0x53b8d8
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x170]
mov dword [ebp - 0x148], eax
mov eax, dword [edi + 0x8c]
mov dword [ebp - 0x130], ecx
test eax, eax
je 0x53b907
lea ecx, [ebp - 0x178]
push ecx
push 0x18
push eax
call dword [0x103389cc]
test eax, eax
jne 0x53b8e7
jmp 0x510393
or esi, 0xffffffff
jmp 0x51051e
lea ecx, [ebp - 0x144]
call fcn.004e6f20
mov eax, esi
call fcn.0049c2fd
ret 8
outsb dx, byte [esi]
popal