Function at 0x428140
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x4b3008]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x7c1e60]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x7c1d48
mov dword [ebp - 0x118], eax
xor edi, edi
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x11c], esi
push str._sError.dat
push eax
mov dword [0x7c1d08], edi
call fcn.00404440
add esp, 0xc
lea eax, [ebp - 0x10c]
push 0x4a6fb8
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov ebx, eax
add esp, 8
mov eax, dword [esi + 0x24c]
cmp eax, dword [esi + 0x198]
je 0x428696
mov eax, dword [esi + 0x44]
sub eax, dword [esi + 0x40]
sar eax, 2
sub eax, 1
mov dword [ebp - 0x114], eax
js 0x428690
nop dword [eax]
mov esi, dword [esi + 0x40]
push 0
push 0x4b3a3c
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x42829d
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42829d
cmp ecx, 0xfa0
je 0x42829d
push dword [eax + 0x1a4]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
test ebx, ebx
je 0x428288
test eax, eax
jne 0x428288
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0xc]
cmp eax, 0x79
je 0x428288
cmp eax, 5
je 0x428288
cmp eax, 0x2d
je 0x428288
cmp eax, 0x2f
je 0x428288
cmp eax, 0x30
je 0x428288
cmp eax, 0x1a5
je 0x428288
cmp eax, 0x1a4
je 0x428288
cmp eax, 0x209
je 0x428288
cmp eax, 0x208
je 0x428288
push eax
push 0x4a77cc
push ebx
call fcn.00411e60
add esp, 0xc
mov eax, dword [ebp - 0x110]
cmp dword [eax + 0xc], 0x79
je 0x42829d
mov edi, dword [ebp - 0x11c]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
push 0
push 0x4b3bcc
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x428363
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x428363
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
mov ecx, dword [ebp - 0x110]
test ebx, ebx
je 0x428346
test eax, eax
jne 0x428346
mov eax, dword [ecx + 0xc]
cmp eax, 0x186
je 0x428346
cmp eax, 0x1a5
je 0x428346
cmp eax, 0x1a4
je 0x428346
cmp eax, 0x209
je 0x428346
cmp eax, 0x208
je 0x428346
push dword [ecx + 0x4818]
push eax
push str._d__d_n
push ebx
call fcn.00411e60
mov ecx, dword [ebp - 0x110]
add esp, 0x10
test edi, edi
jne 0x428363
mov eax, dword [ecx + 0xc]
cmp eax, 0x186
je 0x428363
cmp eax, 0x1a5
je 0x428363
cmp eax, 0x1a4
cmovne edi, eax
mov eax, dword [ebp - 0x114]
push 0
push 0x4b39bc
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x4283e7
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4283e7
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
test ebx, ebx
je 0x4283da
test eax, eax
jne 0x4283da
mov eax, dword [ebp - 0x110]
push dword [eax + 0x4818]
push dword [eax + 0xc]
push str._d__d_n
push ebx
call fcn.00411e60
add esp, 0x10
test edi, edi
jne 0x4283e7
mov edi, dword [ebp - 0x110]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
push 0
push 0x4b3bf0
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x42846b
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x42846b
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
test ebx, ebx
je 0x42845e
test eax, eax
jne 0x42845e
mov eax, dword [ebp - 0x110]
push dword [eax + 0x4818]
push dword [eax + 0xc]
push str._d__d_n
push ebx
call fcn.00411e60
add esp, 0x10
test edi, edi
jne 0x42846b
mov edi, dword [ebp - 0x110]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
push 0
push 0x4b3b48
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x4284ef
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4284ef
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
test ebx, ebx
je 0x4284e2
test eax, eax
jne 0x4284e2
mov eax, dword [ebp - 0x110]
push dword [eax + 0x4818]
push dword [eax + 0xc]
push str._d__d_n
push ebx
call fcn.00411e60
add esp, 0x10
test edi, edi
jne 0x4284ef
mov edi, dword [ebp - 0x110]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
push 0
push 0x4b3a80
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x428573
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x428573
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
test ebx, ebx
je 0x428566
test eax, eax
jne 0x428566
mov eax, dword [ebp - 0x110]
push dword [eax + 0x4818]
push dword [eax + 0xc]
push str._d__d_n
push ebx
call fcn.00411e60
add esp, 0x10
test edi, edi
jne 0x428573
mov edi, dword [ebp - 0x110]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
push 0
push 0x4b3a68
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x4285f7
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4285f7
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
test ebx, ebx
je 0x4285ea
test eax, eax
jne 0x4285ea
mov eax, dword [ebp - 0x110]
push dword [eax + 0x4818]
push dword [eax + 0xc]
push str._d__d_n
push ebx
call fcn.00411e60
add esp, 0x10
test edi, edi
jne 0x4285f7
mov edi, dword [ebp - 0x110]
mov edi, dword [edi + 0xc]
mov eax, dword [ebp - 0x114]
push 0
push 0x4b3a50
push 0x4b39a4
push 0
push dword [esi + eax*4]
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
mov dword [ebp - 0x110], eax
test eax, eax
je 0x428675
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x428675
push dword [eax + 0x4818]
mov eax, dword [ebp - 0x114]
push dword [esi + eax*4]
push ecx
mov ecx, dword [ebp - 0x118]
push ebx
call fcn.0047b140
add dword [0x7c1d08], eax
mov esi, dword [ebp - 0x110]
test ebx, ebx
je 0x42866e
test eax, eax
jne 0x42866e
push dword [esi + 0x4818]
push dword [esi + 0xc]
push str._d__d_n
push ebx
call fcn.00411e60
add esp, 0x10
test edi, edi
jne 0x428675
mov edi, dword [esi + 0xc]
mov eax, dword [ebp - 0x114]
mov esi, dword [ebp - 0x11c]
sub eax, 1
mov dword [ebp - 0x114], eax
jns 0x4281d0
test ebx, ebx
je 0x4286b2
jmp 0x4286a8
test ebx, ebx
je 0x4286b2
push 0x4a77d0
push ebx
call fcn.00411e60
add esp, 8
push ebx
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
je 0x4286bd
mov dword [esi + 0x44], eax
test edi, edi
jne 0x4286df
mov ecx, dword [esi + 0x24c]
cmp ecx, dword [esi + 0x198]
je 0x4286df
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
add esp, 4
mov ecx, dword [ebp - 8]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004a034d
mov esp, ebp
pop ebp
ret 4