joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10039038
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005c5d7
call fcn.1005abe8
sub esp, 0x18
cmp byte [ebp + 0x1c], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, edx
mov byte [ebp - 0x14], cl
je 0x1003915c
test cl, cl
je 0x10039148
mov dword [ebp - 0x1c], 0x4897
cmp dword [ebp - 0x1c], 0x4a45
jle 0x100390d1
xor esi, esi
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp + 0x1c], edi
xor ebx, ebx
mov eax, edi
and dword [ebp - 0x20], 0
cdq
mov edi, esi
idiv ebx
mov esi, dword [ebp - 0x20]
mov ecx, edx
sar edi, cl
mov eax, edi
mov ecx, 0x10076fd8
or eax, esi
cdq
push edx
push eax
call fcn.100045e5
inc esi
cmp esi, 0x112e
jl 0x10039090
mov esi, dword [ebp - 0x18]
inc ebx
mov edi, dword [ebp + 0x1c]
cmp ebx, 0x71b4
jl 0x1003907e
inc edi
mov dword [ebp + 0x1c], edi
cmp edi, 0x7cab
jl 0x1003907c
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x42b2
jl 0x10039077
and dword [ebp - 4], 0
cmp dword [ebp - 0x1c], 0x44e4
jge 0x100390ed
mov edx, str.xxlhdte_wrjmcy_wtnnhyq_frkfiixbn_vix_uucbyh_ydpjkvpzc
mov ecx, 0x10076fd8
call fcn.10006ac3
mov eax, dword [ebp + 0x18]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [eax]
mov eax, dword [ebp + 0xc]
cmp ecx, dword [eax]
je 0x1003911d
mov ecx, dword [ebp + 0x14]
xor dl, dl
push 0x2b80
push 0x73f3
push 1
push 1
push 0x71e7
call fcn.10037dd5
add esp, 0x14
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ebp + 0x1f], 0
cmp byte [ebp + 0x1f], 0
je 0x1003911d
push 0
call dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
jmp 0x1003911d
mov dword [ebp + 0x1c], 0x1b8
cmp dword [ebp + 0x1c], 0x442
jle 0x10039193
xor edi, edi
xor ebx, ebx
mov eax, ebx
mov ecx, 0x10076fd8
xor eax, edi
cdq
push edx
push eax
call fcn.100045e5
inc ebx
cmp ebx, 0x2117
jl 0x10039170
inc edi
cmp edi, 0x1250
jl 0x1003916e
cmp byte [ebp + 8], 0
je 0x100391b8
mov dword [esi], 0
jmp 0x100391b1
push ecx
mov edx, 0x6c2c
xor cl, cl
call fcn.10038176
inc dword [esi]
pop ecx
cmp dword [esi], 1
jle 0x100391a1
jmp 0x100391be
mov eax, dword [ebp + 0x10]
and dword [eax], 0
mov dword [ebp - 4], 2
cmp dword [ebp + 0x1c], 0x3c
jge 0x1003911d
mov edx, str.rfnes_mys_ifgudeinz_binipp_qwou_ksihyoxp_uyftjp_kqsmf_ralnl
mov ecx, 0x10076fd8
call fcn.10006ac3
jmp 0x1003911d
Function at 0x401000
Capabilities:
Terminate process

Disassembly:
push esi
mov esi, dword [sym.imp.MSVCR100.dll_printf]
push 0x4b04ac
call esi
push 0x4b0484
call esi
mov eax, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x401025
mov eax, 0x4b0480
push eax
push str._ERROR_:__s_n
call esi
mov eax, dword [esp + 0x10]
push eax
push str._FILE__:__s_n
call esi
mov ecx, dword [esp + 0x1c]
push ecx
push str._LINE__:__d_n
call esi
push str._n_n
call esi
add esp, 0x1c
push 1
call dword [sym.imp.MSVCR100.dll_exit]
pop esi
int3

Function at 0x403ac0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4ab14b
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4c4b80]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi + 0xc]
xor ebx, ebx
cmp ecx, ebx
je 0x403b16
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jge 0x403b16
lea edx, [eax + eax*2]
inc eax
mov dword [esi], eax
mov eax, dword [esp + 0x40]
lea ecx, [ecx + edx*8]
push eax
lea edx, [esp + 0x1c]
push edx
call fcn.00401090
jmp 0x403bee
mov eax, dword [esi + 8]
add dword [esi + 4], eax
mov edi, dword [esi + 4]
xor ecx, ecx
mov eax, edi
mov edx, 0x18
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], ebx
cmp eax, ebx
je 0x403b6c
push 0x401080
push 0x401060
push edi
lea ebp, [eax + 4]
push 0x18
push ebp
mov dword [eax], edi
call fcn.0048cfdb
jmp 0x403b6e
xor ebp, ebp
mov dword [esp + 0x38], 0xffffffff
cmp ebp, ebx
jne 0x403b8b
push 0x4b0518
push 0x6e
push 0x4b04d8
call fcn.00401000
cmp dword [esi], ebx
jle 0x403bac
xor edi, edi
mov ecx, dword [esi + 0xc]
add ecx, edi
push ecx
lea edx, [esp + 0x1c]
push edx
lea ecx, [edi + ebp]
call fcn.00401090
inc ebx
add edi, 0x18
cmp ebx, dword [esi]
jl 0x403b91
mov eax, dword [esi]
mov edx, dword [esp + 0x40]
lea ecx, [eax + eax*2]
inc eax
mov dword [esi], eax
push edx
lea eax, [esp + 0x1c]
lea ecx, [ebp + ecx*8]
push eax
call fcn.00401090
mov eax, dword [esi + 0xc]
test eax, eax
je 0x403beb
mov ecx, dword [eax - 4]
lea edi, [eax - 4]
push 0x401080
push ecx
push 0x18
push eax
call fcn.0048cec0
push edi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
mov dword [esi + 0xc], ebp
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 4
Function at 0x40b1a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4ab2c5
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x4c4b80]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
push 0x40b130
push 0x40b120
push 4
lea edi, [esi + 0x30]
push 0x18
lea eax, [edi + 0x18]
push eax
mov dword [esp + 0x24], edi
call fcn.0048cfdb
mov ecx, edi
mov dword [esp + 0x1c], 0
call fcn.0046c630
push 0x40b130
push 0x40b120
push 4
lea edi, [esi + 0xc8]
push 0x18
lea ecx, [edi + 0x18]
push ecx
mov dword [esp + 0x30], 1
mov dword [esp + 0x24], edi
call fcn.0048cfdb
mov ecx, edi
mov byte [esp + 0x1c], 2
call fcn.0046c630
mov ecx, esi
mov byte [esp + 0x1c], 3
call fcn.0046d0a0
mov eax, esi
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x14
ret
Function at 0x40dbc0
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x48
mov eax, dword [0x4c4b80]
xor eax, esp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
push ebx
mov ebx, dword [esp + 0x58]
push ebp
mov ebp, dword [esp + 0x60]
push esi
mov esi, dword [esp + 0x58]
fld dword [esi]
push edi
mov edi, dword [esp + 0x60]
fstp dword [esp + 0x18]
fld dword [edi]
lea edx, [esp + 0x18]
fstp dword [esp + 0x1c]
push edx
fld dword [ebx]
push 2
fstp dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
call fcn.004680a0
fld dword [esp + 0x20]
mov eax, dword [esp + 0x18]
fstp dword [esp + 0x38]
fld dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x3c]
lea edx, [esp + 0x20]
fld dword [esp + 0x28]
push edx
fstp dword [esp + 0x44]
push 2
fld dword [ebp]
fstp dword [esp + 0x28]
fld dword [eax]
fstp dword [esp + 0x2c]
fld dword [ecx]
fstp dword [esp + 0x30]
call fcn.004680a0
fld dword [esp + 0x28]
mov eax, dword [esp + 0x20]
fstp dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
fld dword [esp + 0x2c]
add esp, 0x10
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fstp dword [esp + 0x2c]
fld dword [esp + 0x30]
fstp dword [esi]
fld dword [esp + 0x34]
fstp dword [edi]
fld dword [esp + 0x38]
fstp dword [ebx]
fld dword [esp + 0x24]
fstp dword [ebp]
fld dword [esp + 0x28]
fstp dword [eax]
fld dword [esp + 0x2c]
fst dword [ecx]
fld dword [esi]
fstp dword [esp + 0x30]
fld dword [edi]
pop edi
fstp dword [esp + 0x30]
pop esi
fld dword [ebx]
fstp dword [esp + 0x30]
fld dword [ebp]
pop ebp
fstp dword [esp + 0x18]
pop ebx
fld dword [eax]
fstp dword [esp + 0x18]
fstp dword [esp + 0x1c]
fld dword [esp + 0x28]
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x40dcf1
fld dword [esp + 0x14]
fstp dword [esp + 0x2c]
fld dword [esp + 0x18]
fstp dword [esp + 0x30]
fstp dword [esp + 0x34]
fld dword [esp + 0x20]
fstp dword [esp + 0x38]
fld dword [esp + 0x24]
jmp 0x40dd13
fld dword [esp + 0x20]
fstp dword [esp + 0x2c]
fld dword [esp + 0x24]
fstp dword [esp + 0x30]
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x14]
fstp dword [esp + 0x38]
fld dword [esp + 0x18]
mov edx, dword [0xd1b0a0]
fstp dword [esp + 0x3c]
push edx
push 6
fstp dword [esp + 0x48]
lea eax, [esp + 0x34]
push 4
push eax
call dword [sym.imp.MSVCR100.dll_fwrite]
add esp, 0x10
cmp eax, 6
jne 0x40dd4e
inc dword [0xd1b0a4]
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.0048d046
add esp, 0x48
ret
mov ecx, dword [esp + 0x44]
inc dword [0xd1b0a8]
xor ecx, esp
call fcn.0048d046
add esp, 0x48
ret
Function at 0x412f40
Capabilities:
Delete file
Read file on windows

Disassembly:
sub esp, 0x204
mov eax, dword [0x4c4b80]
xor eax, esp
mov dword [esp + 0x200], eax
lea eax, [esp]
push str._TMP_mysegs.tmp
push eax
mov dword [0xd1b0a4], 0
call dword [sym.imp.MSVCR100.dll_sprintf]
lea ecx, [esp + 8]
push 0x200
push ecx
call fcn.00460870
lea edx, [esp + 0x10]
push 0x4b151c
push edx
call dword [sym.imp.MSVCR100.dll_fopen]
add esp, 0x18
mov dword [0xd1b0a0], eax
test eax, eax
je 0x412fcb
mov ecx, dword [0xd1b03c]
push 0x40d690
call fcn.0047dff0
cmp dword [0xd1b0a8], 0
je 0x412fe3
mov eax, dword [0xd1b0a0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
lea ecx, [esp + 4]
push ecx
call dword [sym.imp.MSVCR100.dll_remove]
add esp, 8
or eax, 0xffffffff
mov ecx, dword [esp + 0x200]
xor ecx, esp
call fcn.0048d046
add esp, 0x204
ret
mov ecx, dword [0xd1b03c]
push esi
mov esi, ecx
test ecx, ecx
je 0x412ffe
call fcn.0047f910
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push 8
mov dword [0xd1b03c], 0
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x413025
mov dword [eax + 4], 0
mov dword [eax], 0
jmp 0x413027
xor eax, eax
mov dword [0xd1b044], eax
test eax, eax
je 0x413051
mov ecx, eax
call fcn.00413c60
test eax, eax
jne 0x413051
mov edx, dword [0xd1b0a0]
push eax
push eax
push edx
call dword [sym.imp.MSVCR100.dll_fseek]
add esp, 0xc
test eax, eax
je 0x41306a
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x200]
xor ecx, esp
call fcn.0048d046
add esp, 0x204
ret
push edi
xor edi, edi
cmp dword [0xd1b0a4], edi
jle 0x4130b0
mov esi, dword [sym.imp.MSVCR100.dll_fread]
jmp 0x413080
mov eax, dword [0xd1b044]
mov ecx, dword [eax + 4]
call fcn.00413d30
test eax, eax
je 0x4130ef
mov ecx, dword [0xd1b0a0]
push ecx
push 6
push 4
push eax
call esi
add esp, 0x10
cmp eax, 6
jne 0x4130ef
inc edi
cmp edi, dword [0xd1b0a4]
jl 0x413080
mov edx, dword [0xd1b0a0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.MSVCR100.dll_remove]
mov ecx, dword [0xd1b044]
add esp, 8
call fcn.00415500
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x200]
xor ecx, esp
call fcn.0048d046
add esp, 0x204
ret
mov ecx, dword [esp + 0x208]
pop edi
pop esi
xor ecx, esp
or eax, 0xffffffff
call fcn.0048d046
add esp, 0x204
ret
Function at 0x412fe9
Capabilities:
Delete file
Read file on windows

Disassembly:
sub esp, 0x204
mov eax, dword [0x4c4b80]
xor eax, esp
mov dword [esp + 0x200], eax
lea eax, [esp]
push str._TMP_mysegs.tmp
push eax
mov dword [0xd1b0a4], 0
call dword [sym.imp.MSVCR100.dll_sprintf]
lea ecx, [esp + 8]
push 0x200
push ecx
call fcn.00460870
lea edx, [esp + 0x10]
push 0x4b151c
push edx
call dword [sym.imp.MSVCR100.dll_fopen]
add esp, 0x18
mov dword [0xd1b0a0], eax
test eax, eax
je 0x412fcb
mov ecx, dword [0xd1b03c]
push 0x40d690
call fcn.0047dff0
cmp dword [0xd1b0a8], 0
je 0x412fe3
mov eax, dword [0xd1b0a0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
lea ecx, [esp + 4]
push ecx
call dword [sym.imp.MSVCR100.dll_remove]
add esp, 8
or eax, 0xffffffff
mov ecx, dword [esp + 0x200]
xor ecx, esp
call fcn.0048d046
add esp, 0x204
ret
mov ecx, dword [0xd1b03c]
push esi
mov esi, ecx
test ecx, ecx
je 0x412ffe
call fcn.0047f910
push esi
call sub.MSVCR100.dll_void___cdecl_operator_delete_void__
add esp, 4
push 8
mov dword [0xd1b03c], 0
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x413025
mov dword [eax + 4], 0
mov dword [eax], 0
jmp 0x413027
xor eax, eax
mov dword [0xd1b044], eax
test eax, eax
je 0x413051
mov ecx, eax
call fcn.00413c60
test eax, eax
jne 0x413051
mov edx, dword [0xd1b0a0]
push eax
push eax
push edx
call dword [sym.imp.MSVCR100.dll_fseek]
add esp, 0xc
test eax, eax
je 0x41306a
or eax, 0xffffffff
pop esi
mov ecx, dword [esp + 0x200]
xor ecx, esp
call fcn.0048d046
add esp, 0x204
ret
push edi
xor edi, edi
cmp dword [0xd1b0a4], edi
jle 0x4130b0
mov esi, dword [sym.imp.MSVCR100.dll_fread]
jmp 0x413080
mov eax, dword [0xd1b044]
mov ecx, dword [eax + 4]
call fcn.00413d30
test eax, eax
je 0x4130ef
mov ecx, dword [0xd1b0a0]
push ecx
push 6
push 4
push eax
call esi
add esp, 0x10
cmp eax, 6
jne 0x4130ef
inc edi
cmp edi, dword [0xd1b0a4]
jl 0x413080
mov edx, dword [0xd1b0a0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
lea eax, [esp + 0xc]
push eax
call dword [sym.imp.MSVCR100.dll_remove]
mov ecx, dword [0xd1b044]
add esp, 8
call fcn.00415500
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x200]
xor ecx, esp
call fcn.0048d046
add esp, 0x204
ret
mov ecx, dword [esp + 0x208]
pop edi
pop esi
xor ecx, esp
or eax, 0xffffffff
call fcn.0048d046
add esp, 0x204
ret
Function at 0x426240
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 0x191
mov eax, dword [ebp - 4]
sub eax, 1
cmp eax, 0x190
je 0x42627f
push 0x190
mov ecx, dword [ebp - 4]
sub ecx, 1
push ecx
push str._RCSfile:_outilparutils.cxx_v__
push str.file__s_:_internal_error__size_mismatch:_._noutilpar.inc_size_d__dtbmax.inc_size_d_nAborting._n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x10
push 0xffffffffffffffff
call dword [sym.imp.MSVCR100.dll_exit]
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x430710
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4abcd3
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x4c4b80]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
fldz
xor ebx, ebx
fst qword [esi + 8]
lea eax, [esp + 0x10]
fst qword [esi + 0x10]
mov dword [esi], ebx
fld qword [0x4b5818]
mov dword [esi + 4], ebx
fstp qword [esi + 0x18]
push eax
push ebx
lea ecx, [esi + 0x40]
fst qword [esi + 0x20]
mov dword [esp + 0x18], ebx
fst qword [esi + 0x28]
fst qword [esi + 0x30]
fstp qword [esi + 0x38]
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
call fcn.0042da60
mov dword [esi + 0x50], ebx
lea ecx, [esp + 0x10]
push ecx
push ebx
lea ecx, [esi + 0x54]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ebx
call fcn.0042da60
mov dword [esi + 0x64], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x80], ebx
mov dword [esi + 0x88], ebx
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x90], ebx
mov dword [esi + 0x98], ebx
mov dword [esi + 0x9c], ebx
mov dword [esi + 0xa0], ebx
lea edi, [esi + 0xa8]
lea ecx, [edi + 4]
mov dword [edi], vtable.wnc::sppart::boxtree_class_wnc::sppart::bbox2d__int_.0
mov dword [esp + 0x10], edi
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
push ebx
mov byte [esp + 0x24], 6
mov dword [edi + 0x14], ebx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x1c], ebx
call fcn.0042d650
mov dword [edi], vtable.wnc::sppart::boxtree2d_int_.0
fldz
fstp qword [esi + 0xc8]
fld qword [0x4b18d8]
fst qword [esi + 0xd0]
fld qword [0x4b04d0]
fstp qword [esi + 0xe0]
fstp qword [esi + 0xe8]
mov dword [esi + 0xf8], ebx
mov dword [esi + 0xfc], ebx
mov dword [esi + 0x100], ebx
mov dword [esi + 0x108], ebx
mov dword [esi + 0x10c], ebx
mov dword [esi + 0x110], ebx
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ebx
mov dword [esi + 0x120], ebx
mov dword [esi + 0x124], ebx
mov dword [esi + 0x128], ebx
mov dword [esi + 0x130], ebx
mov dword [esi + 0x134], ebx
mov dword [esi + 0x138], ebx
mov dword [esi + 0x140], ebx
mov dword [esi + 0x144], ebx
mov dword [esi + 0x148], ebx
mov dword [esi + 0x150], ebx
mov dword [esi + 0x154], ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0x160], ebx
mov dword [esi + 0x164], ebx
mov dword [esi + 0x168], ebx
mov dword [esi + 0x174], ebx
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], ebx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x188], ebx
mov dword [esi + 0x184], 0x64
mov byte [esp + 0x20], 0xf
mov dword [esi + 0x18c], 6
mov byte [esi + 0x190], 1
call fcn.0043a5e0
test al, al
jne 0x430912
mov byte [esi + 0xd8], bl
call fcn.0043a5f0
jmp 0x43091e
mov byte [esi + 0xd8], 1
call fcn.0043a630
mov eax, esi
mov byte [esi + 0x170], bl
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x14
ret
Function at 0x4347f0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4abeda
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x4c4b80]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
xor ebx, ebx
mov dword [esi], ebx
push 8
mov dword [esp + 0x34], ebx
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, ebx
je 0x4348d9
mov dword [esi], eax
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [esi]
mov dword [eax], esi
mov dword [esi + 4], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
lea edi, [esi + 0x18]
mov dword [esp + 0x30], 1
mov dword [esp + 0x18], edi
mov dword [edi], ebx
push 8
mov byte [esp + 0x34], 2
call sub.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, ebx
je 0x4348af
mov dword [edi], eax
xor ecx, ecx
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov ecx, dword [edi]
mov dword [ecx], edi
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebx
mov dword [esi + 0x30], 0xffffffff
mov dword [esi + 0x34], ebx
mov eax, esi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x24
ret
lea edx, [esp + 0x10]
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x14], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x4baa1c
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x24], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x14], ebx
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x4baa1c
lea edx, [esp + 0x20]
push edx
mov dword [esp + 0x24], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
int3
Function at 0x446080
Capabilities:
Terminate process

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
push eax
push ecx
call dword [sym.imp.MSVCR100.dll_fopen]
add esp, 8
test eax, eax
jne 0x4460f8
push ebx
push esi
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push edi
push 0x4c07cc
push 0x4c07fc
mov byte [0xd34622], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.vd_OpenFile_____I_O_file_could_not_be_opened__n
push 0x4c083c
call esi
add eax, 0x40
push eax
call edi
call esi
add eax, 0x40
push eax
call ebx
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
pop edi
pop esi
pop ebx
ret
Function at 0x446310
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x4c01ec
push eax
mov dword [esp + 0x28], 0
call fcn.00446080
lea ecx, [esp + 0x28]
mov esi, eax
push ecx
push esi
call fcn.00459a00
add esp, 0x10
test al, al
jne 0x4463a1
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x4c01f0
push 0x4c0218
mov byte [0xd34622], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPoly_____premature_end_of_file__n
push 0x4c0250
call esi
add eax, 0x40
push eax
call edi
call esi
add eax, 0x40
push eax
call ebx
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x4463c2
add eax, 0xa
push eax
call fcn.00440800
mov edx, dword [esp + 0x24]
add edx, 0xa
push edx
call fcn.004408d0
add esp, 8
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x40]
push edx
push esi
call fcn.00459a90
add esp, 0x10
test al, al
jne 0x446423
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x4c0260
push 0x4c0288
mov byte [0xd34622], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadContour_____premature_end_of_file__n
push 0x4c02c0
jmp 0x446386
mov eax, dword [0x4b5c58]
fld qword [esp + 0x30]
push eax
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x4c]
fstp qword [esp]
call fcn.00440d00
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x48]
mov dword [esp + 0x40], eax
mov edi, eax
push edx
lea eax, [esp + 0x54]
push eax
push esi
call fcn.00459a90
add esp, 0x24
test al, al
je 0x44649f
mov ecx, dword [esp + 0x24]
fld qword [esp + 0x30]
push ecx
sub esp, 0x10
fstp qword [esp + 8]
lea edx, [esp + 0x3c]
fld qword [esp + 0x4c]
fstp qword [esp]
push edx
call fcn.00440d80
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x58]
push edx
push esi
call fcn.00459a90
add esp, 0x28
test al, al
jne 0x446462
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push edi
push ecx
call fcn.00440ee0
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
mov eax, dword [ebp + 0xc]
add esp, 0x10
cmp edi, 0xffffffff
pop edi
setne dl
pop esi
mov byte [eax], dl
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4464d0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x34
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x4c02d0
or edi, 0xffffffff
push eax
mov dword [esp + 0x30], edi
call fcn.00446080
lea ecx, [esp + 0x30]
mov esi, eax
push ecx
push esi
call fcn.00459a00
add esp, 0x10
test al, al
jne 0x446560
mov esi, dword [sym.imp.MSVCR100.dll___iob_func]
push 0x4c02d4
push 0x4c02fc
mov byte [0xd34622], 1
call esi
mov edi, dword [sym.imp.MSVCR100.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR100.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPoints_____premature_end_of_file__n
push 0x4c0334
call esi
add eax, 0x40
push eax
call edi
call esi
add eax, 0x40
push eax
call ebx
add esp, 0x10
push 2
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x446574
add eax, 0xa
push eax
call fcn.00440800
add esp, 4
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
push ecx
push esi
call fcn.00459a60
add esp, 0x10
test al, al
je 0x4465ca
mov edx, dword [esp + 0x2c]
fld qword [esp + 0x30]
push edx
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x4c]
fstp qword [esp]
call fcn.00440d00
mov edi, eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x54]
push edx
push esi
call fcn.00459a60
add esp, 0x24
test al, al
jne 0x446590
push esi
call dword [sym.imp.MSVCR100.dll_fclose]
mov ecx, dword [ebp + 0xc]
add esp, 4
cmp edi, 0xffffffff
pop edi
setne al
pop esi
mov byte [ecx], al
mov byte [0xd2d3b8], 1
pop ebx
mov esp, ebp
pop ebp
ret