Function at 0x49cef0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d0b0
mov eax, dword fs:[0]
push eax
sub esp, 0x28c
mov eax, dword [0x5954a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push str.DisengageODMFileHeader_begin
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x38], 0
call fcn.004a5750
lea ecx, [ebp - 0x34]
call fcn.0049f9d0
mov dword [ebp - 4], 0
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x14], 4
mov dword [ebp - 0x10], 0
jmp 0x49cf75
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jae 0x49cfcf
mov dword [ebp - 0x254], 0
push 0x212
push 0
lea ecx, [ebp - 0x250]
push ecx
call fcn.004f8090
add esp, 0xc
push 0x216
push 0
lea edx, [ebp - 0x254]
push edx
call fcn.004f8090
add esp, 0xc
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0x1c]
mov dword [ebp - 0x254], ecx
lea edx, [ebp - 0x254]
push edx
lea ecx, [ebp - 0x34]
call fcn.0049fd90
jmp 0x49cf6c
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp + 0x18]
push eax
call fcn.0049eea0
add esp, 0x10
test eax, eax
jne 0x49cff0
jmp 0x49d2f5
cmp dword [ebp - 0x38], 0
jne 0x49cffb
jmp 0x49d2f5
mov dword [ebp - 0x10], 0
jmp 0x49d00d
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jae 0x49d167
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d03c
call fcn.004fb0ce
xor edx, edx
jne 0x49d03c
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [eax + ecx], 1
je 0x49d162
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d06e
call fcn.004fb0ce
xor edx, edx
jne 0x49d06e
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [eax + ecx], 0x64
je 0x49d162
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d0a0
call fcn.004fb0ce
xor edx, edx
jne 0x49d0a0
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], 0
je 0x49d162
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d0d3
call fcn.004fb0ce
xor edx, edx
jne 0x49d0d3
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 8], 0
je 0x49d162
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d102
call fcn.004fb0ce
xor edx, edx
jne 0x49d102
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d130
call fcn.004fb0ce
xor edx, edx
jne 0x49d130
push 0x20
mov eax, dword [ebp - 0x38]
add eax, 0x1e4
push eax
mov ecx, dword [ebp - 0x288]
mov edx, dword [ecx + 8]
push edx
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + eax + 4]
push edx
call fcn.004a7200
add esp, 0x10
jmp 0x49d004
mov dword [ebp - 0x10], 0
jmp 0x49d179
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jae 0x49d2d9
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d1a8
call fcn.004fb0ce
xor edx, edx
jne 0x49d1a8
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + ecx]
mov dword [ebp - 0x298], edx
cmp dword [ebp - 0x298], 3
je 0x49d1dc
cmp dword [ebp - 0x298], 4
je 0x49d259
jmp 0x49d2d4
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d1f4
call fcn.004fb0ce
xor edx, edx
jne 0x49d1f4
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d222
call fcn.004fb0ce
xor edx, edx
jne 0x49d222
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0x6a7]
push edx
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x216
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + edx + 4]
push ecx
call fcn.0049b2c0
add esp, 0x10
jmp 0x49d2d4
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d271
call fcn.004fb0ce
xor edx, edx
jne 0x49d271
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x290], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d29f
call fcn.004fb0ce
xor edx, edx
jne 0x49d29f
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx + 0x6ab]
push edx
mov eax, dword [ebp - 0x290]
mov ecx, dword [eax + 8]
push ecx
mov edx, dword [ebp - 0x10]
imul edx, edx, 0x216
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + edx + 4]
push ecx
call fcn.0049b3c0
add esp, 0x10
jmp 0x49d170
push 0x8af
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.004f8140
add esp, 0xc
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x10], 0
jmp 0x49d307
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jae 0x49d3fc
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d336
call fcn.004fb0ce
xor edx, edx
jne 0x49d336
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], 0
je 0x49d382
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d365
call fcn.004fb0ce
xor edx, edx
jne 0x49d365
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx + eax + 4]
push edx
call fcn.004f84cf
add esp, 4
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d39a
call fcn.004fb0ce
xor edx, edx
jne 0x49d39a
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x294], eax
mov ecx, dword [ebp - 0x294]
add ecx, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x49d3f7
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49d3dc
call fcn.004fb0ce
xor edx, edx
jne 0x49d3dc
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
lea edx, [ecx + eax + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
jmp 0x49d2fe
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x258], eax
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x34]
call fcn.004a06c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.004a0770
mov eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret