Function at 0x437762
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60c
mov eax, dword [0x457904]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [0x45fa10], edi
call fcn.004372fb
mov eax, dword [0x45fa44]
xor ebx, ebx
mov esi, 0xff
test eax, eax
je 0x4377ae
cmp eax, esi
ja 0x43779e
cmp eax, 0x3c
jae 0x4377ae
mov ecx, 0x428994
mov dword [0x45fa44], ebx
call fcn.00438642
mov eax, dword [0x45fa40]
test eax, eax
je 0x4377d0
cmp eax, esi
ja 0x4377c0
cmp eax, 0xa
jae 0x4377d0
mov ecx, 0x42899c
mov dword [0x45fa40], ebx
call fcn.00438642
push 3
pop eax
cmp dword [0x45793c], eax
jbe 0x4377ea
mov ecx, 0x4289a4
mov dword [0x45793c], eax
call fcn.00438642
mov eax, dword [0x457938]
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x43781a
cmp eax, 2
je 0x43781a
cmp eax, 4
je 0x43781a
cmp eax, 8
je 0x43781a
cmp eax, 0x10
je 0x43781a
mov dword [0x457938], ecx
mov ecx, 0x4289ac
call fcn.00438642
cmp byte [0x45fa57], bl
jne 0x43782f
push edi
push 0x4289b4
call fcn.0044f6c7
pop ecx
pop ecx
call fcn.004425e3
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.0044c410
mov edx, eax
mov ecx, edx
mov dword [0x46fecc], edx
mov dword [0x457968], edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437875
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 [0x45e9cc], ebx
jne 0x4378e1
lea ecx, [ebp - 0x204]
call fcn.0044c3d6
mov edx, dword [0x45fa2c]
mov esi, eax
mov ecx, dword [0x45fa28]
mov dword [ecx + edx*4], 0x4289d8
mov dword [ecx + edx*4 + 4], esi
lea ecx, [edx + 2]
mov dword [0x45fa2c], ecx
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
cmp ax, bx
jne 0x4378c3
mov eax, dword [0x45fa24]
sub esi, ecx
sar esi, 1
add eax, 5
add eax, esi
mov dword [0x45fa24], 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.0044c3d6
mov esi, eax
cmp byte [0x45fa4d], bl
je 0x43791e
mov dword [0x45e9c4], 0x427f50
jmp 0x43796f
push 0x4289e0
mov edx, esi
mov ecx, 0x45fa20
call fcn.004375e1
mov edx, dword [0x45fa2c]
mov ecx, dword [0x45fa28]
mov dword [0x45e9c4], eax
mov dword [ecx + edx*4], eax
inc edx
mov ecx, dword [0x45e9c4]
mov dword [0x45fa2c], edx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x437953
mov eax, dword [0x45fa24]
sub ecx, edx
sar ecx, 1
inc eax
add eax, ecx
mov dword [0x45fa24], eax
mov byte [0x45e636], 1
cmp byte [0x45e507], bl
je 0x437994
push 0x4289ec
mov edx, esi
mov ecx, 0x45fa1c
call fcn.004375e1
mov dword [0x45e9c8], eax
cmp byte [0x45e546], bl
je 0x4379f6
push 0x4289f8
mov edx, esi
mov ecx, 0x45fa14
call fcn.004375e1
mov dword [0x45e9d0], eax
cmp byte [0x45e546], bl
je 0x4379f6
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 0x4379d8
mov esi, edi
mov edx, dword [0x45e9d0]
xor cl, cl
call fcn.0044080e
mov dword [0x45fa7c], eax
call fcn.0045474b
mov ecx, esi
call fcn.004547a9
call fcn.00437afc
mov edx, edi
mov cl, 1
call fcn.0044080e
mov dword [0x45e64c], eax
call fcn.00437520
call fcn.00454d28
mov ecx, dword [0x45e64c]
call fcn.00441607
mov edx, dword [0x45e9c4]
xor cl, cl
call fcn.0044080e
mov ecx, dword [0x45e9c8]
mov dword [0x46fdac], eax
test ecx, ecx
je 0x437a48
push ecx
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__wremove]
pop ecx
mov ecx, dword [0x45e9c8]
cmp byte [0x45fa53], bl
je 0x437a55
call fcn.0044557a
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov byte [0x45fa56], bl
xor ecx, ebp
pop ebx
call fcn.004553c5
leave
ret