Function at 0x437f77
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60c
mov eax, dword [0x45eb24]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [0x467284], edi
call fcn.00437b01
mov eax, dword [0x4672bc]
xor ebx, ebx
mov esi, 0xff
test eax, eax
je 0x437fc3
cmp eax, esi
ja 0x437fb3
cmp eax, 0x3c
jae 0x437fc3
mov ecx, 0x42877c
mov dword [0x4672bc], ebx
call fcn.00438ebe
mov eax, dword [0x4672b8]
test eax, eax
je 0x437fe5
cmp eax, esi
ja 0x437fd5
cmp eax, 0xa
jae 0x437fe5
mov ecx, 0x428784
mov dword [0x4672b8], ebx
call fcn.00438ebe
push 3
pop eax
cmp dword [0x45eb6c], eax
jbe 0x437fff
mov ecx, 0x42878c
mov dword [0x45eb6c], eax
call fcn.00438ebe
mov eax, dword [0x45eb68]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x43802f
cmp eax, 2
je 0x43802f
cmp eax, 4
je 0x43802f
cmp eax, 8
je 0x43802f
cmp eax, 0x10
je 0x43802f
mov dword [0x45eb68], ecx
mov ecx, 0x428794
call fcn.00438ebe
cmp byte [0x4672d0], bl
jne 0x438044
push edi
push 0x42879c
call fcn.00455ed0
pop ecx
pop ecx
call fcn.00448035
mov ecx, 0x100
lea eax, [ebp - 0x404]
push ecx
push eax
push ecx
lea eax, [ebp - 0x204]
push eax
push ebx
push ebx
push ebx
push ebx
push edi
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wsplitpath_s]
add esp, 0x24
lea ecx, [ebp - 0x204]
call fcn.0045251f
mov edx, eax
mov ecx, edx
mov dword [0x4777ac], edx
mov dword [0x45eba8], edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x43808a
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strupr_s]
pop ecx
pop ecx
cmp dword [0x467240], ebx
jne 0x4380f6
lea ecx, [ebp - 0x204]
call fcn.004524e5
mov edx, dword [0x4672a0]
mov esi, eax
mov ecx, dword [0x46729c]
mov dword [ecx + edx*4], 0x4287c0
mov dword [ecx + edx*4 + 4], esi
lea ecx, [edx + 2]
mov dword [0x4672a0], ecx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x4380d8
mov eax, dword [0x467298]
sub esi, ecx
sar esi, 1
add eax, 5
add eax, esi
mov dword [0x467298], eax
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x204]
push 0x100
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscat_s]
add esp, 0xc
lea ecx, [ebp - 0x204]
call fcn.004524e5
mov esi, eax
cmp byte [0x4672c2], bl
je 0x438133
mov dword [0x467238], 0x427d4c
jmp 0x438184
push 0x4287c8
mov edx, esi
mov ecx, 0x467294
call fcn.00437df5
mov edx, dword [0x4672a0]
mov ecx, dword [0x46729c]
mov dword [0x467238], eax
mov dword [ecx + edx*4], eax
inc edx
mov ecx, dword [0x467238]
mov dword [0x4672a0], edx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x438168
mov eax, dword [0x467298]
sub ecx, edx
sar ecx, 1
inc eax
add eax, ecx
mov dword [0x467298], eax
mov byte [0x465eb2], 1
cmp byte [0x465dba], bl
je 0x4381a9
push 0x4287d4
mov edx, esi
mov ecx, 0x467290
call fcn.00437df5
mov dword [0x46723c], eax
cmp byte [0x465eaa], bl
je 0x43820b
push 0x4287e0
mov edx, esi
mov ecx, 0x467288
call fcn.00437df5
mov dword [0x467244], eax
cmp byte [0x465eaa], bl
je 0x43820b
push 0x104
lea eax, [ebp - 0x60c]
push edi
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wfullpath]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4381ed
mov esi, edi
mov edx, dword [0x467244]
xor cl, cl
call fcn.00446224
mov dword [0x4672f4], eax
call fcn.0045be05
mov ecx, esi
call fcn.0045be63
call fcn.00438330
cmp byte [0x4775d7], bl
mov edx, edi
mov cl, 1
sete al
lea eax, [eax*2 + 2]
mov byte [0x4775fe], al
mov al, byte [0x45fadd]
mov byte [0x45fae3], al
mov byte [0x45fae5], al
call fcn.00446224
mov dword [0x465ebc], eax
call fcn.00437d34
call fcn.0045c401
mov ecx, dword [0x465ebc]
call fcn.00447057
mov edx, dword [0x467238]
xor cl, cl
call fcn.00446224
mov ecx, dword [0x46723c]
mov dword [0x477684], eax
test ecx, ecx
je 0x438281
push ecx
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
mov ecx, dword [0x46723c]
cmp byte [0x4672cc], bl
je 0x43828e
call fcn.0044b149
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov byte [0x4672cf], bl
xor ecx, ebp
pop ebx
call fcn.0045cac1
leave
ret