Function at 0x49c3f0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d02b
mov eax, dword fs:[0]
push eax
mov eax, 0x1404
call fcn.004fa800
mov eax, dword [0x5954a0]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x8e0], 0
mov esi, dword [ebp + 0x10]
mov ecx, 0x22b
lea edi, [ebp - 0x8dc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
xor eax, eax
mov word [ebp - 0xce4], ax
push 0x3fe
push 0
lea ecx, [ebp - 0xce2]
push ecx
call fcn.004f8090
add esp, 0xc
mov dword [ebp - 0x10], 0
call fcn.004a5750
lea ecx, [ebp - 0x28]
call fcn.0049f9d0
mov dword [ebp - 4], 0
mov dword [ebp - 0xefc], 0
push 0x212
push 0
lea edx, [ebp - 0xef8]
push edx
call fcn.004f8090
add esp, 0xc
push 0x216
push 0
lea eax, [ebp - 0xefc]
push eax
call fcn.004f8090
add esp, 0xc
push 0x100000
push 0
push 0
lea ecx, [ebp - 0xf24]
call fcn.004d0080
mov byte [ebp - 4], 1
push 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0xf24]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.0048d860
add esp, 0x24
test eax, eax
je 0x49c52f
mov dword [ebp - 0xefc], 0x64
lea ecx, [ebp - 0xf24]
call fcn.004d01b4
mov dword [ebp - 0xef4], eax
lea ecx, [ebp - 0xf24]
call fcn.004d0119
mov dword [ebp - 0xef8], eax
lea edx, [ebp - 0xefc]
push edx
lea ecx, [ebp - 0x28]
call fcn.0049fd90
jmp 0x49c642
lea ecx, [ebp - 0xf24]
call fcn.004d0119
mov dword [ebp - 0x1138], eax
cmp dword [ebp - 0x1138], 0
je 0x49c558
mov eax, dword [ebp - 0x1138]
push eax
call fcn.004f84cf
add esp, 4
cmp dword [ebp + 0x14], 0
je 0x49c587
mov ecx, dword [ebp + 0x18]
push ecx
push 0
push 0xfffffffffffffffc
call dword [ebp + 0x14]
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x49c587
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf24]
call fcn.004d0456
jmp 0x49c8f6
xor eax, eax
mov word [ebp - 0x1134], ax
push 0x208
push 0
lea ecx, [ebp - 0x1132]
push ecx
call fcn.004f8090
add esp, 0xc
push 0
push 0
push 0
push 0
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x1134]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0048d140
add esp, 0x20
test eax, eax
jne 0x49c5e1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf24]
call fcn.004d0456
jmp 0x49c8f6
cmp dword [ebp + 0x14], 0
je 0x49c610
mov eax, dword [ebp + 0x18]
push eax
push 0
push 0
call dword [ebp + 0x14]
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x49c610
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf24]
call fcn.004d0456
jmp 0x49c8f6
mov dword [ebp - 0xefc], 0x64
push 0x104
lea edx, [ebp - 0x1134]
push edx
lea eax, [ebp - 0xef0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
lea ecx, [ebp - 0xefc]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0049fd90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xf24]
call fcn.004d0456
mov dword [ebp - 0x1354], 0
push 0x212
push 0
lea edx, [ebp - 0x1350]
push edx
call fcn.004f8090
add esp, 0xc
push 0x216
push 0
lea eax, [ebp - 0x1354]
push eax
call fcn.004f8090
add esp, 0xc
push 0x8af
call fcn.004f8626
add esp, 4
mov dword [ebp - 0x113c], eax
push 0x8af
push 0
mov ecx, dword [ebp - 0x113c]
push ecx
call fcn.004f8090
add esp, 0xc
push 0x8af
lea edx, [ebp - 0x8dc]
push edx
mov eax, dword [ebp - 0x113c]
push eax
call fcn.004f8140
add esp, 0xc
push 0x553788
push 0x20100506
mov ecx, dword [ebp - 0x113c]
push ecx
call fcn.00497e70
add esp, 0xc
push 0x20100506
push 0x8af
mov edx, dword [ebp - 0x113c]
push edx
call fcn.00497f00
add esp, 0xc
test eax, eax
jne 0x49c706
jmp 0x49c8f6
mov dword [ebp - 0x1354], 1
mov dword [ebp - 0x134c], 0x8af
mov eax, dword [ebp - 0x113c]
mov dword [ebp - 0x1350], eax
lea ecx, [ebp - 0x1354]
push ecx
lea ecx, [ebp - 0x28]
call fcn.0049fd90
mov dword [ebp - 0x10], 0
jmp 0x49c747
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jae 0x49c899
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c776
call fcn.004fb0ce
xor edx, edx
jne 0x49c776
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
cmp dword [eax + ecx], 1
je 0x49c7ba
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c7a4
call fcn.004fb0ce
xor edx, edx
jne 0x49c7a4
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
cmp dword [eax + ecx], 0x64
jne 0x49c7bc
jmp 0x49c73e
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c7d4
call fcn.004fb0ce
xor edx, edx
jne 0x49c7d4
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax + 4], 0
je 0x49c894
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c807
call fcn.004fb0ce
xor edx, edx
jne 0x49c807
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax + 8], 0
je 0x49c894
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c836
call fcn.004fb0ce
xor edx, edx
jne 0x49c836
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x13e0], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c864
call fcn.004fb0ce
xor edx, edx
jne 0x49c864
push 0x20
lea eax, [ebp - 0x6f8]
push eax
mov ecx, dword [ebp - 0x13e0]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax + 4]
push edx
call fcn.004a7200
add esp, 0x10
jmp 0x49c73e
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x6f8]
push edx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1358], esp
lea eax, [ebp - 0x28]
push eax
call fcn.0049fab0
mov dword [ebp - 0x140c], eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00499e80
add esp, 0x28
mov dword [ebp - 0x1410], eax
mov edx, dword [ebp - 0x1410]
mov dword [ebp - 0x8e0], edx
cmp dword [ebp - 0x8e0], 0
jne 0x49c8f6
push str._UpdateODMFileHeader::UpdateFileRes.
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x10], 0
jmp 0x49c908
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jae 0x49c9fd
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c937
call fcn.004fb0ce
xor edx, edx
jne 0x49c937
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
cmp dword [ecx + eax + 4], 0
je 0x49c983
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c966
call fcn.004fb0ce
xor edx, edx
jne 0x49c966
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ecx + eax + 4]
push edx
call fcn.004f84cf
add esp, 4
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c99b
call fcn.004fb0ce
xor edx, edx
jne 0x49c99b
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x13e4], eax
mov ecx, dword [ebp - 0x13e4]
add ecx, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x49c9f8
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x1c]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49c9dd
call fcn.004fb0ce
xor edx, edx
jne 0x49c9dd
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x1c]
lea edx, [ecx + eax + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x49c8ff
mov eax, dword [ebp - 0x8e0]
mov dword [ebp - 0x135c], eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.004a06c0
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x1408], ecx
mov edx, dword [ebp - 0x1408]
push edx
call fcn.004b3044
add esp, 4
mov eax, dword [ebp - 0x135c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.004f8124
mov esp, ebp
pop ebp
ret