Function at 0x446030
Capabilities:
Delete file
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov edx, dword [0x468ec0]
push ebx
push esi
mov ebx, eax
mov esi, ecx
mov ecx, dword [ebp + 8]
lea eax, [ecx*8]
sub eax, ecx
lea edx, [edx + eax*8]
mov eax, ecx
sub eax, 0
push edi
mov edi, dword [edx + 4]
mov dword [esp + 0x1c], esi
je 0x446081
dec eax
je 0x446073
dec eax
jne 0x446094
mov dword [esp + 0x20], 1
jmp 0x44608d
mov dword [esp + 0x20], 1
mov dword [esp + 0x28], ebx
jmp 0x446094
mov dword [esp + 0x20], 2
mov dword [esp + 0x34], ebx
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
mov ebx, dword [ecx*4 + 0x4694a0]
mov ecx, dword [edx]
mov dword [esp + 0x2c], eax
add eax, edi
cmp byte [ebx], 0
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
je 0x446319
lea esp, [esp]
cmp dword [esp + 0x14], 0
je 0x446319
mov eax, ebx
call fcn.0040ce70
mov edi, eax
cmp dword [edi], 0
mov dword [esp + 0x30], 0
jle 0x446309
mov eax, dword [edi + 4]
dec eax
mov ebx, 1
cmp eax, 5
ja case.default.0x4460f7
jmp dword [eax*4 + 0x4466d4]
mov eax, dword [edi + 8]
test eax, eax
je 0x446128
mov edx, dword [esp + 0x18]
push edx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0x10], 0
cmp eax, 1
jne 0x44612c
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x38]
push ecx
push 0x45f79c
mov eax, dword [edi + 8]
push 0x472ac0
mov byte [eax + 0x472ac0], 0
call dword [sym.imp.MSVCR100.dll_sscanf]
fld qword [esp + 0x44]
fstp qword [esi]
add esi, 8
add esp, 0xc
dec dword [esp + 0x14]
mov ebx, eax
mov dword [esp + 0x1c], esi
jmp 0x4462da
cmp dword [edi + 8], 0xc
jg 0x44633f
mov eax, dword [esp + 0x2c]
dec eax
je 0x4461a1
dec eax
jne 0x446459
mov esi, dword [esp + 0x34]
push 0xd
push 0x489b30
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [edi + 8]
add esp, 0xc
test eax, eax
je 0x4461dc
mov edx, dword [esp + 0x18]
push edx
jmp 0x4461c2
mov esi, dword [esp + 0x28]
push 0xd
push 0x489b30
push esi
call dword [sym.imp.MSVCR100.dll_strncpy]
mov eax, dword [edi + 8]
add esp, 0xc
test eax, eax
je 0x4461dc
mov ecx, dword [esp + 0x18]
push ecx
push 1
push eax
push esi
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0x10], 0
cmp eax, 1
jne 0x4461e0
mov dword [esp + 0x10], ebx
mov eax, 0xc
call fcn.00409670
mov esi, dword [esp + 0x1c]
mov eax, ebx
sub dword [esp + 0x14], eax
sub dword [esp + 0x2c], eax
jmp 0x4462da
mov eax, dword [edi + 8]
test eax, eax
je 0x446227
mov edx, dword [esp + 0x18]
push edx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0x10], 0
cmp eax, 1
jne 0x44622b
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x38]
push ecx
push 0x465b84
jmp 0x446136
mov eax, dword [edi + 8]
test eax, eax
je 0x446264
mov edx, dword [esp + 0x18]
push edx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
mov dword [esp + 0x10], 0
cmp eax, 1
jne 0x446268
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x38]
push ecx
push 0x465b88
jmp 0x446136
mov eax, dword [edi + 8]
test eax, eax
je 0x44629d
mov edx, dword [esp + 0x18]
push edx
push 1
push eax
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x446578
mov dword [esp + 0x10], ebx
jmp 0x4462ed
mov eax, dword [esp + 0x18]
push eax
push 0x4000
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
jmp 0x4462da
mov ecx, dword [ebp + 8]
mov edx, dword [ecx*4 + 0x4694a0]
push edx
push str.problem_with_format_n_s_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0
je 0x446578
test ebx, ebx
je 0x446582
cmp dword [esp + 0x14], 0
je 0x446305
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, dword [edi]
jl 0x4460e5
mov ebx, dword [esp + 0x24]
add ebx, dword [edi + 0xc]
cmp byte [ebx], 0
mov dword [esp + 0x24], ebx
jne 0x4460c0
mov ecx, dword [esp + 0x18]
push ecx
push 0x4000
push 0x472ac0
call dword [sym.imp.MSVCR100.dll_fgets]
add esp, 0xc
neg eax
sbb eax, eax
neg eax
dec eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.id_must_be_12_or_fewer_characters_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
cmp dword [0x4a5b3c], 0
je 0x4463ce
cmp dword [0x489ad0], 0
je 0x4463ce
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x4463a1
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__ftelli64]
mov ecx, dword [0x489ad0]
add esp, 4
push edx
push eax
push ecx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x4463bf
mov edx, dword [0x489ad0]
push str.__body___html__n
push edx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x446451
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
mov eax, dword [esp + 0x20]
push eax
push str._nThere_should_only_be__d_ID_field_s__specified__n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x4464ee
cmp dword [0x489ad0], 0
je 0x4464ee
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x4464c1
mov ecx, dword [0x489ad0]
push ecx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
mov edx, dword [0x489ad0]
push eax
push edx
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x4464de
mov eax, dword [0x489ad0]
push str.__body___html__n
push eax
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov ecx, dword [0x489ad0]
push ecx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov edx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push edx
call esi
mov eax, dword [0x4899d8]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802bc]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802cc]
add esp, 4
push edx
call esi
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x446570
call fcn.00409900
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x24]
push ecx
push str._nData_do_not_match_format_at__s_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
cmp dword [0x4a5b3c], 0
je 0x446617
cmp dword [0x489ad0], 0
je 0x446617
push str.stdout
push 0x476be0
call dword [sym.imp.MSVCR100.dll__stricmp]
add esp, 8
test eax, eax
je 0x4465e9
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll__ftelli64]
add esp, 4
push edx
push eax
mov eax, dword [0x489ad0]
push eax
call dword [sym.imp.MSVCR100.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll__chsize_s]
add esp, 0xc
cmp dword [0x4a5b4c], 0
je 0x446607
mov ecx, dword [0x489ad0]
push str.__body___html__n
push ecx
call dword [sym.imp.MSVCR100.dll_fprintf]
add esp, 8
mov edx, dword [0x489ad0]
push edx
call dword [sym.imp.MSVCR100.dll_fclose]
add esp, 4
call fcn.0040a1a0
mov eax, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_remove]
inc dword [0x468ff8]
push eax
call esi
mov ecx, dword [0x4899d8]
add esp, 4
push ecx
call esi
mov edx, dword [0x4802bc]
add esp, 4
push edx
call esi
mov eax, dword [0x4802cc]
add esp, 4
push eax
call esi
mov ecx, dword [0x469488]
mov esi, dword [sym.imp.MSVCR100.dll_free]
add esp, 4
push ecx
call esi
mov edx, dword [0x4899d8]
add esp, 4
push edx
call esi
mov eax, dword [0x4802bc]
add esp, 4
push eax
call esi
mov ecx, dword [0x4802cc]
add esp, 4
push ecx
call esi
add esp, 4
cmp dword [0x468ff8], 0
je 0x4466cc
mov edi, dword [sym.imp.MSVCR100.dll_clock]
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov esi, edx
shr esi, 0x1f
add esi, edx
nop
call edi
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
cmp eax, 3
jbe 0x4466b0
push 0x64
call dword [sym.imp.MSVCR100.dll_exit]
popaw
inc esp
add dh, bh
pushal
inc esp
add ch, bh
popal
inc esp
add byte [edx], bh
bound eax, qword [eax + eax - 0x5d]
bound eax, qword [eax + eax + 0x77]
bound eax, qword [eax + eax - 0x34]
int3