Function at 0x49da70
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53d190
mov eax, dword fs:[0]
push eax
sub esp, 0x3a8
mov eax, dword [0x5954a0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x38], 0
call fcn.004c02e6
push eax
lea ecx, [ebp - 0x40]
call fcn.004514d0
mov dword [ebp - 4], 0
call fcn.004a5750
mov eax, dword [ebp + 0xc]
push eax
call fcn.00496ad0
add esp, 4
test eax, eax
jne 0x49db5c
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00496f30
add esp, 4
movzx edx, al
test edx, edx
jne 0x49db5c
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044f380
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x4c]
push ecx
push str._r_nDisengageODMFileContent_1:_s_is_not_a_directory_and_CreateMultiDirecrory_false_r_n
lea edx, [ebp - 0x40]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x2a8], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4c]
call fcn.0044f990
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0044f990
mov eax, dword [ebp - 0x2a8]
jmp 0x49e468
lea ecx, [ebp - 0x34]
call fcn.0049f9d0
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x18], 0x64
mov dword [ebp - 0x10], 0
jmp 0x49db88
mov edx, dword [ebp - 0x10]
add edx, 1
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x10], 2
jae 0x49dbe2
mov dword [ebp - 0x264], 0
push 0x212
push 0
lea eax, [ebp - 0x260]
push eax
call fcn.004f8090
add esp, 0xc
push 0x216
push 0
lea ecx, [ebp - 0x264]
push ecx
call fcn.004f8090
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + edx*4 - 0x1c]
mov dword [ebp - 0x264], eax
lea ecx, [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0049fd90
jmp 0x49db7f
lea edx, [ebp - 0x38]
push edx
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
call fcn.0049eea0
add esp, 0x10
test eax, eax
jne 0x49dc5f
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x26c]
call fcn.0044f380
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x26c]
push ecx
push str._r_nDisengageODMFileContent_2_getODMHeaderSegment_false:_s__r_n
lea edx, [ebp - 0x40]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x268]
push ecx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x268], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x26c]
call fcn.0044f990
jmp 0x49e2d1
cmp dword [ebp - 0x38], 0
jne 0x49dcc6
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x274]
call fcn.0044f380
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x274]
push eax
push str._r_nDisengageODMFileContent_3_pODMHeader_is_NULL:_s__r_n
lea ecx, [ebp - 0x40]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x270]
push eax
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x270], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x274]
call fcn.0044f990
jmp 0x49e2d1
cmp dword [ebp + 0x1c], 0
jne 0x49dd5b
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x38]
add eax, 0x1e4
push eax
lea ecx, [ebp - 0x34]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0049ab00
add esp, 0x14
test eax, eax
jne 0x49dd56
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x27c]
call fcn.0044f380
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x27c]
push ecx
push str._r_nDisengageODMFileContent_4_LoadODMFileContentRes_false:_s__r_n
lea edx, [ebp - 0x40]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x278]
push ecx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x278], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x27c]
call fcn.0044f990
jmp 0x49e2d1
jmp 0x49ddef
cmp dword [ebp + 0x1c], 1
jne 0x49ddef
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x1e4
push ecx
lea edx, [ebp - 0x34]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0049f190
add esp, 0x14
movzx ecx, al
test ecx, ecx
jne 0x49ddef
mov edx, dword [ebp + 0xc]
push edx
lea ecx, [ebp - 0x284]
call fcn.0044f380
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x284]
push eax
push str._r_nDisengageODMFileContent_5_ReadODMFileContent_false:_s__r_n
lea ecx, [ebp - 0x40]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x280], edx
mov eax, dword [ebp - 0x280]
push eax
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x280], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x284]
call fcn.0044f990
jmp 0x49e2d1
mov dword [ebp - 0x10], 0
jmp 0x49de01
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 0x49df5b
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49de30
call fcn.004fb0ce
xor edx, edx
jne 0x49de30
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [eax + ecx], 1
je 0x49df56
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49de62
call fcn.004fb0ce
xor edx, edx
jne 0x49de62
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [eax + ecx], 0x64
je 0x49df56
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49de94
call fcn.004fb0ce
xor edx, edx
jne 0x49de94
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], 0
je 0x49df56
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49dec7
call fcn.004fb0ce
xor edx, edx
jne 0x49dec7
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 8], 0
je 0x49df56
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49def6
call fcn.004fb0ce
xor edx, edx
jne 0x49def6
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49df24
call fcn.004fb0ce
xor edx, edx
jne 0x49df24
push 0x20
mov eax, dword [ebp - 0x38]
add eax, 0x1e4
push eax
mov ecx, dword [ebp - 0x31c]
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 0x49ddf8
mov dword [ebp - 0x10], 0
jmp 0x49df6d
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 0x49e2ca
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49df9c
call fcn.004fb0ce
xor edx, edx
jne 0x49df9c
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
mov edx, dword [eax + ecx]
mov dword [ebp - 0x3b4], edx
cmp dword [ebp - 0x3b4], 0x64
je 0x49dfc3
jmp 0x49e2c5
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49dfdb
call fcn.004fb0ce
xor edx, edx
jne 0x49dfdb
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], 0
je 0x49e197
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e00e
call fcn.004fb0ce
xor edx, edx
jne 0x49e00e
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 8], 0
je 0x49e197
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e041
call fcn.004fb0ce
xor edx, edx
jne 0x49e041
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e06f
call fcn.004fb0ce
xor edx, edx
jne 0x49e06f
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x324], eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x320]
mov eax, dword [edx + 8]
push eax
mov ecx, dword [ebp - 0x324]
mov edx, dword [ecx + 4]
push edx
call fcn.0048e780
add esp, 0x18
test eax, eax
jne 0x49e116
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x28c]
call fcn.0044f380
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x28c]
push ecx
push str._r_nDisengageODMFileContent_6_UncompressODMFileFormMemory_false:_s__r_n
lea edx, [ebp - 0x40]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
push ecx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x288], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28c]
call fcn.0044f990
jmp 0x49e2d1
cmp dword [ebp + 0x10], 0
je 0x49e192
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
call dword [ebp + 0x10]
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x49e192
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x294]
call fcn.0044f380
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x294]
push edx
push str._r_nDisengageODMFileContent_7_pProgressCallback_0_0_pProgressData__is_NULL:_s__r_n
lea eax, [ebp - 0x40]
push eax
call fcn.00451560
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x290]
push edx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x290], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x294]
call fcn.0044f990
jmp 0x49e2d1
jmp 0x49e2c5
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e1af
call fcn.004fb0ce
xor edx, edx
jne 0x49e1af
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x340]
add edx, 0xc
push edx
call fcn.0048e500
add esp, 0x14
test eax, eax
jne 0x49e24c
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x29c]
call fcn.0044f380
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x29c]
push ecx
push str._r_nDisengageODMFileContent_8_UncompressODMFile_false:_s__r_n
lea edx, [ebp - 0x40]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
push ecx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x298], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x29c]
call fcn.0044f990
jmp 0x49e2d1
cmp dword [ebp + 0x10], 0
je 0x49e2c5
mov edx, dword [ebp + 0x14]
push edx
push 0
push 0
call dword [ebp + 0x10]
add esp, 0xc
movzx eax, al
test eax, eax
jne 0x49e2c5
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x2a4]
call fcn.0044f380
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x2a4]
push edx
push str._r_nDisengageODMFileContent_9_pProgressCallback_0_0_pProgressData__is_NULL_:_s__r_n
lea eax, [ebp - 0x40]
push eax
call fcn.00451560
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x2a0]
push edx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x2a0], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2a4]
call fcn.0044f990
jmp 0x49e2d1
jmp 0x49df64
mov dword [ebp - 0x3c], 1
mov dword [ebp - 0x10], 0
jmp 0x49e2e3
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 0x49e3d8
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e312
call fcn.004fb0ce
xor edx, edx
jne 0x49e312
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + eax + 4], 0
je 0x49e35e
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e341
call fcn.004fb0ce
xor edx, edx
jne 0x49e341
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 0x49e376
call fcn.004fb0ce
xor edx, edx
jne 0x49e376
mov eax, dword [ebp - 0x10]
imul eax, eax, 0x216
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0x36c]
add ecx, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x49e3d3
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x28]
cdq
mov ecx, 0x216
idiv ecx
cmp dword [ebp - 0x10], eax
jb 0x49e3b8
call fcn.004fb0ce
xor edx, edx
jne 0x49e3b8
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 0x49e2da
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x44]
call fcn.0044f380
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x44]
push ecx
push str._r_nDisengageODMFileContent_10_bRetVal_TRUE:_s__r_n
lea edx, [ebp - 0x40]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0047c040
add esp, 4
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x2ac], edx
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
call fcn.0044f990
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x34]
call fcn.004a06c0
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3ac], eax
mov ecx, dword [ebp - 0x3ac]
push ecx
call fcn.004b3044
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.0044f990
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret