joyce8/EMBER2024-capa huggingface dataset:
Function at 0x416e90
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x47b953
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x48f400]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
test esi, esi
jne 0x416ed9
or eax, 0xffffffff
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 2
lea eax, [esp + 0x24]
push 4
push eax
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 2
jne 0x416ec3
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
test eax, eax
jge 0x416f1b
push 0x7a
push 0x485a24
push 0x485a4c
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
mov edi, dword [0x48ecd8]
xor ebx, ebx
cmp dword [esp + 0x14], ebx
mov byte [esp + 0x13], 0
jle 0x41701e
jmp 0x416f37
mov esi, dword [ebp + 8]
push esi
push 3
lea eax, [esp + 0x48]
push 4
push eax
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 3
jne 0x416ec3
fld dword [esp + 0x40]
fst qword [esp + 0x24]
fld dword [esp + 0x44]
fst qword [esp + 0x2c]
fld dword [esp + 0x48]
call fcn.00427ff0
mov esi, dword [0x48ecd0]
cmp eax, 2
je 0x416f7d
mov esi, dword [0x48eccc]
cmp edi, dword [0x48ecd8]
je 0x416f8e
cmp esi, edi
je 0x416f8e
mov byte [esp + 0x13], 1
fxch st(1)
mov dword [esp + 0x4c], esi
fstp qword [esp + 0x54]
fstp qword [esp + 0x5c]
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x74], 0
call fcn.004115e0
mov dword [esp + 0x70], 0xffffffff
cmp esi, dword [0x48ecd8]
je 0x417011
mov ecx, dword [ebp + 0x14]
fld qword [ecx]
fld qword [esp + 0x24]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x416fd7
fst qword [ecx]
mov ecx, dword [ebp + 0x18]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x416fe7
fstp qword [ecx]
jmp 0x416fe9
fstp st(0)
mov ecx, dword [ebp + 0x1c]
fld qword [ecx]
fld qword [esp + 0x2c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x416fff
fst qword [ecx]
mov ecx, dword [ebp + 0x20]
fcom qword [ecx]
fnstsw ax
test ah, 0x41
jne 0x41700f
fstp qword [ecx]
jmp 0x417011
fstp st(0)
inc ebx
cmp ebx, dword [esp + 0x14]
mov edi, esi
jl 0x416f34
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
lea esi, [eax - 1]
test esi, esi
jge 0x417042
push 0xa5
push 0x485a5c
push str.i1___0
call dword [sym.imp.MSVCR90.dll__wassert]
add esp, 0xc
fld qword [0x4859e8]
mov dword [esp + 0x4c], 0xfa0a1f00
fst qword [esp + 0x54]
fstp qword [esp + 0x5c]
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x4c]
push eax
mov dword [esp + 0x74], 1
call fcn.004115e0
mov ecx, dword [esp + 0x18]
mov dl, byte [esp + 0x13]
lea eax, [esp + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0xc]
push eax
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x34], esi
mov byte [esp + 0x38], dl
call fcn.004184a0
xor eax, eax
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4170b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
mov eax, dword [ebp + 0xc]
fld qword [0x4859c0]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [eax], 0
mov eax, dword [ebp + 0x18]
mov dword [ebx], 0
mov dword [ecx], 0
fst qword [edx]
mov ecx, dword [ebp + 8]
fstp qword [eax]
fld qword [0x4853a8]
push esi
fst qword [esp + 0x34]
push edi
fstp qword [esp + 0x28]
push 0x485a20
fld qword [0x485f30]
push ecx
fst qword [esp + 0x38]
mov dword [esp + 0x1c], 0xffffffff
fstp qword [esp + 0x28]
call dword [sym.imp.MSVCR90.dll_fopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x417145
push edi
push 1
lea edx, [esp + 0x1c]
push 4
push edx
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x417150
push edi
call dword [sym.imp.MSVCR90.dll_fclose]
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push 3
lea eax, [esp + 0x4c]
push 4
push eax
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 3
jne 0x41720b
fld dword [esp + 0x44]
call fcn.00427ff0
fld dword [esp + 0x48]
mov dword [esp + 0x1c], eax
call fcn.00427ff0
mov esi, eax
mov eax, dword [ebx]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0
test esi, esi
jle 0x4171d6
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x3c]
push edx
mov edx, dword [ebp + 0x14]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x34]
push ecx
push edx
push ebx
push edi
call fcn.00416e90
add esp, 0x1c
mov dword [0x48ecc8], eax
test eax, eax
jne 0x417275
mov eax, dword [esp + 0x10]
inc eax
cmp eax, esi
mov dword [esp + 0x10], eax
jl 0x417196
mov eax, dword [esp + 0x18]
lea ecx, [eax + esi]
cmp dword [ebx], ecx
jne 0x417145
mov edx, dword [esp + 0x1c]
fld dword [esp + 0x4c]
mov ecx, dword [ebp + 0xc]
fstp dword [esp + 0x5c]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x5c], esi
call fcn.00418600
jmp 0x417150
push edi
call dword [sym.imp.MSVCR90.dll_fclose]
fld qword [esp + 0x24]
fsub qword [esp + 0x2c]
mov ecx, dword [ebp + 0x18]
mov esi, dword [sym.imp.MSVCR90.dll__wassert]
add esp, 4
fst qword [ecx]
fldz
fcompp
fnstsw ax
test ah, 0x41
jnp 0x417247
push 0xe4
push 0x485a94
push str.xSize___0.
call esi
add esp, 0xc
fld qword [esp + 0x30]
mov edx, dword [ebp + 0x1c]
fsub qword [esp + 0x38]
fst qword [edx]
fldz
fcompp
fnstsw ax
test ah, 0x41
jnp 0x417273
push 0xe5
push 0x485ad4
push str.ySize___0.
call esi
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x42809b
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x48f400]
jne 0x4280a5
repz ret
jmp fcn.004286c7
Function at 0x43d710
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x48f400]
xor eax, ebp
mov dword [ebp - 4], eax
call fcn.00442790
test eax, eax
je 0x43d743
call fcn.004426f0
push eax
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_strcpy
add esp, 8
jmp 0x43d78c
push 0x48a3e4
call dword [sym.imp.MSVCR90.dll_getenv]
add esp, 4
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
jne 0x43d776
push 0x48a3ec
lea ecx, [ebp - 0x210]
push ecx
call sub.MSVCR90.dll_strcpy
add esp, 8
jmp 0x43d78c
mov edx, dword [ebp - 0x214]
push edx
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_strcpy
add esp, 8
push 0x48a3f0
push 0x48a3f8
push 0x5c
lea ecx, [ebp - 0x210]
push ecx
push 0x48a400
push 0x494488
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
mov byte [0x494688], 0
push 0x48a40c
push 0x494488
call dword [sym.imp.MSVCR90.dll_strcspn]
add esp, 8
mov byte [eax + 0x494488], 0
push 0x201
push 0x494488
call fcn.0043d5a0
add esp, 8
push 0x48a410
push str.zone
push 0x5c
lea edx, [ebp - 0x210]
push edx
push str._s_c_s_s
push 0x494690
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
mov byte [0x494890], 0
push 0x48a42c
push 0x494690
call dword [sym.imp.MSVCR90.dll_strcspn]
add esp, 8
mov byte [eax + 0x494690], 0
push 0x201
push 0x494690
call fcn.0043d5a0
add esp, 8
cmp dword [0x49489c], 0
jne 0x43d85e
push 0x43d6c0
call fcn.00428155
add esp, 4
mov dword [0x49489c], 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042809b
mov esp, ebp
pop ebp
ret

Function at 0x442180
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x48f400]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [0x499d34], 0
je 0x4421e6
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push str._s___d__:__d_n
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x14
mov ecx, dword [0x499d30]
push ecx
lea edx, [ebp - 0x408]
push edx
call sub.MSVCR90.dll_strlen
add esp, 4
push eax
push 1
lea eax, [ebp - 0x408]
push eax
call dword [sym.imp.MSVCR90.dll_fwrite]
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042809b
mov esp, ebp
pop ebp
ret

Function at 0x4426f0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov dword [ebp - 4], 0x48a640
cmp dword [0x49586c], 0
je 0x44270f
mov eax, 0x495870
jmp 0x442730
push 0x48a644
call dword [sym.imp.MSVCR90.dll_getenv]
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x44272d
mov eax, dword [ebp - 8]
jmp 0x442730
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
Function at 0x4427a0
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x49586c], 0
je 0x4427c1
push 0x495870
push 0x499af8
call sub.MSVCR90.dll_strcpy
add esp, 8
jmp 0x4427fd
push str.WNCZONE
call dword [sym.imp.MSVCR90.dll_getenv]
add esp, 4
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4427ec
push 0x48a660
push 0x499af8
call sub.MSVCR90.dll_strcpy
add esp, 8
jmp 0x4427fd
mov eax, dword [ebp - 4]
push eax
push 0x499af8
call sub.MSVCR90.dll_strcpy
add esp, 8
push 0x48a664
mov ecx, dword [ebp + 8]
push ecx
call fcn.0047b170
add esp, 8
push eax
push 0x5c
push 0x499af8
push str._s_c_s
push 0x4998f0
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x14
push 0x201
push 0x4998f0
call fcn.00406690
add esp, 8
cmp dword [0x499d04], 0
jne 0x44285b
push 0x442690
call fcn.00428155
add esp, 4
mov dword [0x499d04], 1
mov esp, ebp
pop ebp
ret

Function at 0x44be30
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx*4 + 0x499e48]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call sub.MSVCR90.dll_strlen
add esp, 4
push eax
push 1
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.MSVCR90.dll_fwrite]
add esp, 0x10
mov esi, eax
mov eax, dword [ebp + 0xc]
push eax
call sub.MSVCR90.dll_strlen
add esp, 4
cmp esi, eax
je 0x44be8a
mov ecx, dword [ebp + 0x10]
mov dword [ecx], 0xffffffe6
jmp 0x44bec0
mov dx, word [0x48af30]
mov word [ebp - 8], dx
mov al, byte [0x48af32]
mov byte [ebp - 6], al
mov ecx, dword [ebp - 4]
push ecx
push 2
push 1
lea edx, [ebp - 8]
push edx
call dword [sym.imp.MSVCR90.dll_fwrite]
add esp, 0x10
cmp eax, 2
je 0x44bec0
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xffffffe6
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x44bfb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0x14]
mov dword [eax], 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx*4 + 0x499e48]
mov dword [ebp - 0xc], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0xc]
push eax
push 1
push 1
lea ecx, [ebp - 5]
push ecx
call dword [sym.imp.MSVCR90.dll_fread]
add esp, 0x10
cmp eax, 1
je 0x44c005
mov edx, dword [ebp + 0x14]
mov dword [edx], 0xffffffe7
mov byte [ebp - 5], 0
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 4]
mov byte [eax], 0
jmp 0x44c019
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
mov dl, byte [ebp - 5]
mov byte [ecx], dl
mov eax, dword [ebp - 4]
add eax, 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x10]
sub ecx, 1
cmp dword [ebp - 4], ecx
jge 0x44c035
movsx edx, byte [ebp - 5]
cmp edx, 0xa
je 0x44c035
mov eax, dword [ebp + 0x14]
cmp dword [eax], 0
je 0x44bfd3
mov ecx, dword [ebp + 0x10]
sub ecx, 1
cmp dword [ebp - 4], ecx
jne 0x44c0b0
movsx edx, byte [ebp - 5]
cmp edx, 0xa
je 0x44c0b0
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xffffffd6
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx - 1]
cmp edx, 0xa
je 0x44c06c
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 4]
mov byte [eax], 0xa
jmp 0x44c075
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 4]
movsx eax, byte [edx]
cmp eax, 0xd
je 0x44c091
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx]
cmp edx, 0xa
jne 0x44c0ab
cmp dword [ebp - 4], 0
jl 0x44c0ab
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 4]
mov byte [eax], 0
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
jmp 0x44c075
jmp 0x44c147
mov edx, dword [ebp + 0x14]
cmp dword [edx], 0xffffffe7
je 0x44c0c1
movsx eax, byte [ebp - 5]
cmp eax, 0xa
jne 0x44c0d2
cmp dword [ebp - 4], 0
jne 0x44c0d2
mov ecx, dword [ebp + 0x14]
mov dword [ecx], 0xffffffe9
jmp 0x44c147
mov edx, dword [ebp - 4]
sub edx, 1
mov dword [ebp - 4], edx
mov dword [ebp - 0x10], 0
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 4]
movsx ecx, byte [eax]
cmp ecx, 0xd
je 0x44c0fe
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 4]
movsx eax, byte [edx]
cmp eax, 0xa
jne 0x44c147
cmp dword [ebp - 4], 0
jl 0x44c147
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 4]
movsx edx, byte [ecx]
cmp edx, 0xa
jne 0x44c133
cmp dword [ebp - 0x10], 0
jne 0x44c131
mov dword [ebp - 0x10], 1
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 4]
mov byte [eax], 0
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
jmp 0x44c145
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 4]
mov byte [edx], 0
mov eax, dword [ebp - 4]
sub eax, 1
mov dword [ebp - 4], eax
jmp 0x44c0e2
mov esp, ebp
pop ebp
ret
Function at 0x45d570
Capabilities:
Terminate process

Disassembly:
call fcn.00459090
test al, al
jne 0x45d5da
push ebx
push esi
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push edi
push 0x4902d4
push 0x490308
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.API_ComputeWMAT:_VD_not_known_or_not_up_to_date_
push 0x49034c
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.MSVCR90.dll_exit]
pop edi
pop esi
pop ebx
call fcn.0045c550
fldz
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
sub esp, 0x10
fst qword [esp + 8]
fstp qword [esp]
call fcn.0045c740
add esp, 0x1c
ret
Function at 0x45dc60
Capabilities:
Terminate process

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
push eax
push ecx
call dword [sym.imp.MSVCR90.dll_fopen]
add esp, 8
test eax, eax
jne 0x45dcd8
push ebx
push esi
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push edi
push 0x491150
push 0x491180
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.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 0x4911c0
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.MSVCR90.dll_exit]
pop edi
pop esi
pop ebx
ret
Function at 0x45dce0
Capabilities:
Terminate process

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x24
push ebx
push esi
push edi
push 0x49093c
push eax
call fcn.0045dc60
lea ecx, [esp + 0x18]
mov edi, eax
push ecx
push edi
call fcn.00470a90
add esp, 0x10
test al, al
jne 0x45dd64
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490940
push 0x490968
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x490978
push 0x4909a0
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.MSVCR90.dll_exit]
lea edx, [esp + 0x18]
push edx
push edi
call fcn.00470a90
add esp, 8
test al, al
jne 0x45ddb8
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x4909b0
push 0x4909d8
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x4909e8
push 0x490a10
jmp 0x45dd49
lea eax, [esp + 0x20]
push eax
push edi
call fcn.00470a90
add esp, 8
test al, al
jne 0x45de0f
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490a20
push 0x490a48
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x490a58
push 0x490a80
jmp 0x45dd49
lea ecx, [esp + 0x28]
push ecx
push edi
call fcn.00470a90
add esp, 8
test al, al
jne 0x45de66
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490a90
push 0x490ab8
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPolygon_____premature_end_of_file__n
push 0x490af0
jmp 0x45dd49
lea edx, [esp + 0xc]
push edx
push edi
call fcn.00470ab0
add esp, 8
test al, al
jne 0x45debd
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490b00
push 0x490b28
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPolygon_____Premature_end_of_file__n
push 0x490b60
jmp 0x45dd49
xor esi, esi
cmp dword [esp + 0xc], esi
jle 0x45ded5
push edi
call fcn.0045d6e0
inc esi
add esp, 4
cmp esi, dword [esp + 0xc]
jl 0x45dec5
push edi
call dword [sym.imp.MSVCR90.dll_fclose]
mov eax, dword [esp + 0x3c]
add esp, 4
pop edi
pop esi
mov byte [eax], 1
pop ebx
add esp, 0x24
ret
Function at 0x45def0
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 0x490b70
push eax
mov dword [esp + 0x28], 0
call fcn.0045dc60
lea ecx, [esp + 0x28]
mov esi, eax
push ecx
push esi
call fcn.00470a70
add esp, 0x10
test al, al
jne 0x45df81
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490b74
push 0x490b9c
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPoly_____premature_end_of_file__n
push 0x490bd4
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.MSVCR90.dll_exit]
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x45dfa2
add eax, 0xa
push eax
call fcn.0045ac00
mov edx, dword [esp + 0x24]
add edx, 0xa
push edx
call fcn.0045acd0
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.00470b00
add esp, 0x10
test al, al
jne 0x45e003
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490be4
push 0x490c0c
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadContour_____premature_end_of_file__n
push 0x490c44
jmp 0x45df66
mov eax, dword [0x48b3c0]
fld qword [esp + 0x30]
push eax
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x4c]
fstp qword [esp]
call fcn.0045b100
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.00470b00
add esp, 0x24
test al, al
je 0x45e07f
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.0045b180
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x58]
push edx
push esi
call fcn.00470b00
add esp, 0x28
test al, al
jne 0x45e042
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push edi
push ecx
call fcn.0045b2e0
push esi
call dword [sym.imp.MSVCR90.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 0x45e0b0
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 0x490c54
or edi, 0xffffffff
push eax
mov dword [esp + 0x30], edi
call fcn.0045dc60
lea ecx, [esp + 0x30]
mov esi, eax
push ecx
push esi
call fcn.00470a70
add esp, 0x10
test al, al
jne 0x45e140
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490c58
push 0x490c80
mov byte [0x49a922], 1
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPoints_____premature_end_of_file__n
push 0x490cb8
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.MSVCR90.dll_exit]
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x45e154
add eax, 0xa
push eax
call fcn.0045ac00
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.00470ad0
add esp, 0x10
test al, al
je 0x45e1aa
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.0045b100
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.00470ad0
add esp, 0x24
test al, al
jne 0x45e170
push esi
call dword [sym.imp.MSVCR90.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 [0x49a19c], 1
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x45e1d0
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 0x490cc8
push eax
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x2c], 0
call fcn.0045dc60
lea ecx, [esp + 0x2c]
mov edi, eax
push ecx
push edi
call fcn.00470ab0
add esp, 0x10
test al, al
je 0x45e2e2
mov ebx, 1
jmp 0x45e220
cmp dword [esp + 0x24], ebx
jl 0x45e300
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x3c]
push eax
push edi
call fcn.00470b30
add esp, 0xc
test al, al
je 0x45e35a
mov ecx, dword [0x48b3c0]
fld qword [esp + 0x30]
push ecx
sub esp, 0x10
fstp qword [esp + 8]
fld qword [esp + 0x4c]
fstp qword [esp]
call fcn.0045b100
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
add esp, 0x14
cmp eax, ebx
jne 0x45e278
mov byte [0x49a19c], bl
cmp eax, ebx
mov esi, ebx
jle 0x45e2cc
mov edi, edi
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
push ecx
push edi
call fcn.00470b00
add esp, 0x10
test al, al
je 0x45e39b
mov edx, dword [esp + 0x2c]
fld qword [esp + 0x30]
push edx
sub esp, 0x10
fstp qword [esp + 8]
lea eax, [esp + 0x3c]
fld qword [esp + 0x4c]
fstp qword [esp]
push eax
call fcn.0045b180
add esi, ebx
add esp, 0x18
cmp esi, dword [esp + 0x24]
jl 0x45e280
lea ecx, [esp + 0x24]
push ecx
push edi
call fcn.00470ab0
add esp, 8
test al, al
jne 0x45e220
push edi
call dword [sym.imp.MSVCR90.dll_fclose]
mov eax, dword [ebp + 0xc]
add esp, 4
cmp dword [esp + 0x24], 0
pop edi
setne dl
pop esi
mov byte [eax], dl
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490ccc
push 0x490d00
mov byte [0x49a922], bl
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPolylines_____less_than_one_vertex_per_chain__n
push 0x490d44
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.MSVCR90.dll_exit]
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490d54
push 0x490d80
mov byte [0x49a922], bl
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push 0x490d90
push 0x490dbc
jmp 0x45e33f
mov esi, dword [sym.imp.MSVCR90.dll___iob_func]
push 0x490dcc
push 0x490df8
mov byte [0x49a922], bl
call esi
mov edi, dword [sym.imp.MSVCR90.dll_fprintf]
add eax, 0x20
push eax
call edi
call esi
mov ebx, dword [sym.imp.MSVCR90.dll_fflush]
add eax, 0x20
push eax
call ebx
add esp, 0x10
push str.ReadPolylines_____premature_end_of_file__n
push 0x490e34
jmp 0x45e33f