Function at 0x48539c
Capabilities:
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 9
add esp, 0xfffff004
push eax
dec eax
jne 0x4853a5
mov eax, dword [ebp - 4]
add esp, 0xffffffa8
push ebx
push esi
push edi
mov dword [ebp - 0x730], eax
mov esi, 0x4bba40
mov edi, 0x4c7c4c
mov eax, 0x4af49c
call fcn.004992ac
call sub.KERNEL32.DLL_GetTickCount
push eax
push dword [0x4ae770]
push str._s_u
push 0x4d65f8
call fcn.0049bdcc
add esp, 0x10
mov word [ebp - 0x71c], 8
lea eax, [ebp - 0x518]
call fcn.00460f64
add dword [ebp - 0x710], 6
inc dword [ebp - 0x710]
lea edx, [ebp - 0x518]
mov word [ebp - 0x71c], 0x14
mov byte [ebp - 4], 0
cmp dword [0x4c988c], 0
mov dword [ebp - 0x734], edx
je 0x4854fe
lea ecx, [ebp - 0x13a8]
lea edx, [ebp - 0xba8]
mov eax, edi
call fcn.00457d7c
push 0xc30
push 0
lea ecx, [ebp - 0x1fd8]
push ecx
call fcn.00498cfc
add esp, 0xc
lea eax, [ebp - 0xba8]
push eax
lea edx, [ebp - 0x1fd8]
push edx
call fcn.00498e7c
add esp, 8
lea edx, [ebp - 0x13a8]
lea eax, [ebp - 0x1bd8]
call fcn.00410b08
lea eax, [ebp - 0x2478]
call fcn.004141d8
lea eax, [ebp - 0x244c]
call fcn.004141d8
lea eax, [ebp - 0x2420]
call fcn.004141d8
push 0
lea ecx, [ebp - 0x308c]
lea edx, [ebp - 0x13a8]
lea eax, [ebp - 0xba8]
call fcn.00413298
test al, al
je 0x4854dd
mov edx, dword [ebp - 0x248c]
mov dword [ebp - 0x13d8], edx
mov edx, dword [ebp - 0x2488]
mov dword [ebp - 0x13d4], edx
lea edx, [ebp - 0x1fd8]
mov eax, dword [ebp - 0x734]
call fcn.00461080
mov eax, dword [ebp - 0x734]
call fcn.00461310
jmp 0x48562d
mov word [ebp - 0x71c], 0x20
lea eax, [ebp - 0x610]
call fcn.0040fdcc
add dword [ebp - 0x710], 4
mov word [ebp - 0x71c], 0x2c
lea edx, [ebp - 0x610]
mov dword [ebp - 0x738], edx
cmp dword [ebp - 0x730], 0
je 0x485545
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x738], ecx
jmp 0x485557
lea edx, [ebp - 0x610]
mov eax, 0x4c6f00
xor ecx, ecx
call fcn.0045e814
push 1
push 1
push 1
push 0
push 0
mov ecx, dword [ebp - 0x734]
mov edx, 2
mov eax, dword [ebp - 0x738]
call fcn.004651b4
test al, al
jne 0x4855dd
sub dword [ebp - 0x710], 4
lea eax, [ebp - 0x610]
mov edx, 2
call fcn.0040fea4
dec dword [ebp - 0x710]
dec dword [ebp - 0x710]
dec dword [ebp - 0x710]
lea eax, [ebp - 0x420]
mov edx, 2
call fcn.0043dac4
sub dword [ebp - 0x710], 4
lea eax, [ebp - 0x518]
mov edx, 2
call fcn.0040fea4
mov ecx, dword [ebp - 0x72c]
mov dword fs:[0], ecx
jmp 0x486891
xor ebx, ebx
jmp 0x4855fd
mov edx, ebx
mov eax, dword [ebp - 0x734]
call fcn.00461404
mov word [ebp - 0x71c], 0x2c
xor ecx, ecx
mov dword [eax + 8], ecx
inc ebx
mov eax, dword [ebp - 0x734]
mov edx, dword [eax + 0x104]
cmp edx, ebx
ja 0x4855e1
sub dword [ebp - 0x710], 4
lea eax, [ebp - 0x610]
mov edx, 2
call fcn.0040fea4
mov word [ebp - 0x71c], 0x14
mov edx, 0x4d65f8
mov eax, dword [str.InterfaceConvertProfile]
call fcn.00461ef0
mov byte [ebp - 0x739], 0
mov word [ebp - 0x71c], 0x14
xor ecx, ecx
mov dword [ebp - 0x740], ecx
lea eax, [ebp - 0x518]
push eax
push 0x480640
push dword [0x4c6eec]
push str.CONVERTARC
push dword [0x4b41d0]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x48681d
mov edx, str.Background
mov eax, 0x4d65f8
xor ecx, ecx
call fcn.00461bc4
test eax, eax
jne 0x4856a9
cmp dword [0x4c9890], 1
jne 0x4856a5
cmp byte [esi + 0x32b6], 0
jne 0x4856a9
xor edx, edx
jmp 0x4856ae
mov edx, 1
mov byte [ebp - 0x741], dl
push 0
mov cl, byte [ebp - 0x741]
xor edx, edx
mov eax, 8
call fcn.004735f4
lea eax, [ebp - 0x390c]
push eax
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
mov dword [ebp - 0x74c], 0
mov dword [ebp - 0x748], 0
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 0
xor edx, edx
mov dword [0x4ca1f0], 0
mov dword [0x4ca1f4], 0
mov dword [ebp - 0x758], edx
xor ebx, ebx
jmp 0x485758
mov edx, ebx
mov eax, dword [ebp - 0x734]
call fcn.00461404
mov ecx, eax
mov word [ebp - 0x71c], 0x14
test byte [ecx + 8], 8
je 0x485757
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
add dword [0x4ca1f0], eax
adc dword [0x4ca1f4], edx
inc dword [ebp - 0x758]
inc ebx
mov eax, dword [ebp - 0x734]
mov edx, dword [eax + 0x104]
cmp edx, ebx
ja 0x485721
mov eax, dword [ebp - 0x758]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x350c]
mov edx, 0x480
call fcn.0047d744
lea ecx, [ebp - 0x350c]
push ecx
push 0x65
push dword [0x4c6ef8]
call sub.USER32.DLL_SetDlgItemTextA
mov dword [0x4ca1e8], 0
mov dword [0x4ca1ec], 0
xor eax, eax
mov dword [ebp - 0x75c], eax
mov dword [ebp - 0x760], 0xffffffff
jmp 0x486757
mov eax, dword [ebp - 0x740]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x350c]
mov edx, 0x480
call fcn.0047d744
lea ecx, [ebp - 0x350c]
push ecx
push 0x66
push dword [0x4c6ef8]
call sub.USER32.DLL_SetDlgItemTextA
push dword [ebp - 0x748]
push dword [ebp - 0x74c]
lea eax, [ebp - 0x350c]
mov edx, 0x480
call fcn.0047d744
lea ecx, [ebp - 0x350c]
push ecx
push 0x67
push dword [0x4c6ef8]
call sub.USER32.DLL_SetDlgItemTextA
push dword [ebp - 0x750]
push dword [ebp - 0x754]
lea eax, [ebp - 0x350c]
mov edx, 0x480
call fcn.0047d744
lea ecx, [ebp - 0x350c]
push ecx
push 0x68
push dword [0x4c6ef8]
call sub.USER32.DLL_SetDlgItemTextA
cmp dword [ebp - 0x760], 0xffffffff
je 0x485897
lea ecx, [ebp - 0x453c]
mov edx, dword [ebp - 0x760]
mov eax, dword [ebp - 0x734]
call fcn.0046126c
lea eax, [ebp - 0x453c]
mov edx, dword [eax + 0xc04]
mov eax, dword [eax + 0xc00]
add dword [0x4ca1e8], eax
adc dword [0x4ca1ec], edx
mov dword [ebp - 0x760], 0xffffffff
call fcn.004757c4
mov ecx, dword [ebp - 0x734]
mov eax, dword [ecx + 0x104]
cmp eax, dword [ebp - 0x75c]
jbe 0x48676d
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x734]
call fcn.00461404
mov ebx, eax
mov word [ebp - 0x71c], 0x14
test byte [ebx + 8], 8
je 0x486751
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0x760], eax
push 0
push 1
mov eax, edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
call fcn.004567bc
dec eax
jne 0x486751
lea edx, [ebp - 0x45d8]
mov eax, edi
call fcn.00457db0
lea eax, [ebp - 0x4a78]
call fcn.004141d8
lea eax, [ebp - 0x4a4c]
call fcn.004141d8
lea eax, [ebp - 0x4a20]
call fcn.004141d8
push 0
lea ecx, [ebp - 0x568c]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
call fcn.00413298
test al, al
je 0x486751
cmp byte [esi + 0x1c18], 0
jne 0x485971
cmp dword [ebp - 0x454c], 0
je 0x485971
mov eax, 0x50e
call fcn.004129c8
push eax
push dword [ebx]
call fcn.0047dfcc
add esp, 8
jmp 0x486751
lea edx, [ebp - 0x5a8c]
mov eax, str.Rar_CVXXXXXX
call fcn.00464330
test al, al
je 0x486751
lea edx, [ebp - 0x5a8c]
push edx
call fcn.0049a80c
pop ecx
cmp dword [0x4c9890], 1
jne 0x4859a6
mov eax, esi
call fcn.00426878
call fcn.00449c20
lea ecx, [esi + 0x4300]
lea edx, [esi + 0x3f00]
mov eax, edi
call fcn.00457d7c
mov edx, dword [edi + 0x208]
mov dword [esi + 0x2ab0], edx
call fcn.0044a7b4
mov dword [esi + 0x20a4], 1
mov dword [esi + 0x269c], 4
mov dword [esi + 0x26a0], 4
mov edx, str.cth
mov eax, dword [esi + 0x4b00]
call fcn.0040ff50
lea ecx, [esi + 0x3f00]
mov eax, 0x20a
push ecx
call fcn.004129c8
push eax
lea edx, [ebp - 0x350c]
push edx
call fcn.0049bdcc
add esp, 0xc
lea eax, [ebp - 0x350c]
call fcn.004755b8
call fcn.00487a64
mov dword [ebp - 0x764], eax
cmp byte [esi + 0x2696], 0
je 0x485a4b
mov byte [esi + 0x2696], 0
mov byte [ebp - 0x739], 1
mov eax, edi
xor ecx, ecx
xor edx, edx
call fcn.00452bdc
cmp dword [0x4c98a0], 0
jne 0x48672a
call fcn.00487a64
cmp eax, dword [ebp - 0x764]
jne 0x48672a
mov eax, 0x4d65f8
call fcn.0044a488
mov edx, dword [esi + 0x20ec]
mov dword [ebp - 0x768], edx
mov byte [esi + 0x21ce], 0
cmp byte [esi + 0x1410], 0
jne 0x485b1f
xor ecx, ecx
mov dword [ebp - 0x76c], ecx
xor eax, eax
mov dword [ebp - 0x770], eax
push 0
lea ecx, [ebp - 0x770]
lea edx, [ebp - 0x76c]
mov eax, edi
call fcn.004581f4
cmp dword [ebp - 0x770], 0
jle 0x485b13
lea edx, [esi + 0x1410]
mov eax, str.Rar_CMXXXXXX
call fcn.00464294
mov dword [ebp - 0x774], eax
cmp dword [ebp - 0x774], 0
je 0x485b13
push dword [ebp - 0x774]
push dword [ebp - 0x770]
push 1
push dword [ebp - 0x76c]
call fcn.0049b1c4
add esp, 0x10
push dword [ebp - 0x774]
call fcn.0049a8b4
pop ecx
push dword [ebp - 0x76c]
call fcn.004974c8
pop ecx
lea edx, [ebp - 0x5e8c]
mov ecx, 0x400
mov eax, dword [ebx]
call fcn.0040c3a4
lea edx, [ebp - 0x40c]
push edx
lea ecx, [ebp - 0x628c]
push ecx
call fcn.00498e7c
add esp, 8
cmp byte [ebp - 0x628c], 0
je 0x485b5b
lea eax, [ebp - 0x628c]
call fcn.0040c35c
mov eax, dword [ebx]
call fcn.0040d524
mov byte [ebp - 0x775], al
cmp dword [esi + 0x2ab0], 0
jne 0x485b78
mov edx, 0x4aea51
jmp 0x485b7d
mov edx, 0x4aea55
mov dword [ebp - 0x77c], edx
cmp dword [esi + 0x2ab0], 0
jne 0x485b93
mov eax, 0x4aea5a
jmp 0x485b98
mov eax, 0x4aea62
mov dword [ebp - 0x780], eax
cmp byte [esi + 0x410], 0
je 0x485bbb
mov dword [ebp - 0x77c], 0x4ae8e9
mov dword [ebp - 0x780], 0x4aea6a
mov edx, dword [ebp - 0x77c]
mov eax, dword [ebx]
call fcn.0040c2a4
test al, al
je 0x485bea
cmp byte [ebp - 0x628c], 0
je 0x485bee
lea edx, [ebp - 0x5e8c]
lea eax, [ebp - 0x628c]
call fcn.0040f55c
test eax, eax
je 0x485bee
xor edx, edx
jmp 0x485bf3
mov edx, 1
mov byte [ebp - 0x781], dl
cmp byte [ebp - 0x781], 0
je 0x485d74
lea ecx, [ebp - 0x5a8c]
push ecx
lea eax, [esi + 0x3f00]
push eax
call fcn.00498e7c
add esp, 8
lea eax, [esi + 0x3f00]
call fcn.0040c35c
cmp dword [ebx + 4], 0
je 0x485c63
mov edx, dword [ebx + 4]
cmp word [edx], 0
je 0x485c63
lea edx, [esi + 0x4300]
lea eax, [esi + 0x3f00]
mov ecx, 0x1000000
call fcn.00410844
mov eax, dword [ebx + 4]
call fcn.0040bee0
mov edx, eax
lea eax, [esi + 0x4300]
call fcn.00410b3c
jmp 0x485c6c
mov word [esi + 0x4300], 0
mov eax, dword [ebx]
call fcn.0040be48
push eax
lea edx, [esi + 0x3f00]
push edx
call fcn.00498da0
add esp, 8
lea eax, [esi + 0x3f00]
call fcn.0040c248
mov dword [ebp - 0x788], eax
cmp dword [ebp - 0x788], 0
je 0x485efe
mov edx, dword [ebp - 0x788]
mov byte [edx], 0
lea eax, [esi + 0x3f00]
call fcn.0040c248
mov dword [ebp - 0x78c], eax
mov edx, dword [ebp - 0x788]
mov byte [edx], 0x2e
cmp dword [ebp - 0x78c], 0
je 0x485efe
cmp byte [ebp - 0x775], 0
je 0x485efe
cmp dword [ebp - 0x45c8], 0
jne 0x485efe
cmp dword [ebp - 0x4564], 0
je 0x485efe
push dword [ebp - 0x788]
push dword [ebp - 0x78c]
call fcn.00498e7c
add esp, 8
lea eax, [esi + 0x4300]
call fcn.0040c280
mov dword [ebp - 0x790], eax
cmp dword [ebp - 0x790], 0
je 0x485efe
mov edx, dword [ebp - 0x790]
mov word [edx], 0
lea eax, [esi + 0x4300]
call fcn.0040c280
mov dword [ebp - 0x794], eax
mov edx, dword [ebp - 0x790]
mov word [edx], 0x2e
cmp dword [ebp - 0x794], 0
je 0x485efe
mov edx, dword [ebp - 0x790]
mov eax, dword [ebp - 0x794]
call fcn.00410b08
jmp 0x485efe
cmp byte [ebp - 0x628c], 0
je 0x485dac
lea ecx, [ebp - 0x628c]
push ecx
lea eax, [esi + 0x3f00]
push eax
call fcn.00498e7c
add esp, 8
mov eax, dword [ebx]
call fcn.0040be48
push eax
lea edx, [esi + 0x3f00]
push edx
call fcn.00498da0
add esp, 8
jmp 0x485dbd
push dword [ebx]
lea ecx, [esi + 0x3f00]
push ecx
call fcn.00498e7c
add esp, 8
lea eax, [esi + 0x3f00]
call fcn.0040c248
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x798], 0
je 0x485e48
mov edx, dword [ebp - 0x798]
mov byte [edx], 0
lea eax, [esi + 0x3f00]
call fcn.0040c248
test eax, eax
je 0x485e3f
mov edx, str..tar
call fcn.0040f55c
test eax, eax
je 0x485e18
cmp byte [ebp - 0x775], 0
je 0x485e3f
cmp dword [ebp - 0x45c8], 0
jne 0x485e3f
cmp dword [ebp - 0x4564], 0
je 0x485e3f
lea eax, [esi + 0x4300]
call fcn.0040c280
mov dword [ebp - 0x79c], eax
cmp dword [ebp - 0x79c], 0
je 0x485e48
mov edx, dword [ebp - 0x79c]
mov word [edx], 0
jmp 0x485e48
mov ecx, dword [ebp - 0x798]
mov byte [ecx], 0x2e
lea eax, [esi + 0x3f00]
mov edx, dword [ebp - 0x77c]
call fcn.0040c18c
cmp dword [ebx + 4], 0
je 0x485ebf
mov ecx, dword [ebx + 4]
cmp word [ecx], 0
je 0x485ebf
cmp byte [ebp - 0x628c], 0
je 0x485e9e
lea edx, [esi + 0x4300]
lea eax, [ebp - 0x628c]
mov ecx, 0x1000000
call fcn.00410844
mov eax, dword [ebx + 4]
call fcn.0040bee0
mov edx, eax
lea eax, [esi + 0x4300]
call fcn.00410b3c
jmp 0x485eac
lea eax, [esi + 0x4300]
mov edx, dword [ebx + 4]
call fcn.00410b08
lea eax, [esi + 0x4300]
mov edx, dword [ebp - 0x780]
call fcn.0040c1d4
jmp 0x485ec8
mov word [esi + 0x4300], 0
lea edx, [esi + 0x4300]
lea eax, [esi + 0x3f00]
call fcn.0040a838
test al, al
je 0x485efe
mov eax, 0x50d
call fcn.004129c8
push eax
lea edx, [esi + 0x3f00]
push edx
call fcn.0047dfcc
add esp, 8
mov byte [ebp - 0x781], 1
call fcn.00487a64
cmp eax, dword [ebp - 0x764]
jne 0x485f9f
lea ecx, [ebp - 0x5a8c]
push ecx
call fcn.0049a80c
pop ecx
mov edx, str.cth
mov dword [esi + 0x20cc], 2
mov dword [esi + 0x20c8], 1
mov byte [esi + 0x2104], 0
mov byte [esi + 0x2106], 0
mov eax, dword [esi + 0x4b00]
call fcn.0040ff50
lea eax, [esi + 0x3f00]
call fcn.0040be48
push eax
mov eax, 0x208
call fcn.004129c8
push eax
lea edx, [ebp - 0x350c]
push edx
call fcn.0049bdcc
add esp, 0xc
lea eax, [ebp - 0x350c]
call fcn.004755b8
cmp byte [esi + 0x2696], 0
je 0x485f96
mov byte [esi + 0x2696], 0
mov byte [ebp - 0x739], 1
mov eax, edi
xor edx, edx
call fcn.004533d8
cmp byte [esi + 0x1410], 0
je 0x485fc4
lea eax, [esi + 0x1410]
call fcn.004644f8
test al, al
je 0x485fc4
lea edx, [esi + 0x1410]
push edx
call fcn.0049ba38
pop ecx
mov byte [ebp - 0x79d], 0
cmp dword [0x4c98a0], 0
jne 0x48670b
call fcn.00487a64
cmp eax, dword [ebp - 0x764]
jne 0x48670b
push 0
push 1
lea ecx, [esi + 0x4300]
lea edx, [esi + 0x3f00]
mov eax, edi
call fcn.004567bc
dec eax
jne 0x48670b
lea edx, [ebp - 0x6328]
mov eax, edi
call fcn.00457db0
mov eax, dword [ebp - 0x4578]
mov edx, dword [ebp - 0x4574]
cmp edx, dword [ebp - 0x62c4]
jne 0x48602e
cmp eax, dword [ebp - 0x62c8]
je 0x486079
cmp dword [ebp - 0x4574], 0
jne 0x486040
cmp dword [ebp - 0x4578], 0
je 0x486079
mov edx, 0x4aea77
lea eax, [ebp - 0x45d8]
call fcn.0040f55c
test eax, eax
jne 0x48605f
cmp dword [ebp - 0x4564], 0
jne 0x486079
mov eax, 0x50a
call fcn.004129c8
push eax
push dword [ebx]
call fcn.0047dfcc
add esp, 8
jmp 0x48670b
cmp dword [ebp - 8], 0
je 0x4860f6
mov eax, dword [ebp - 8]
cdq
push edx
push eax
mov eax, dword [ebp - 0x4570]
mov edx, dword [ebp - 0x456c]
call fcn.0049d350
push edx
push eax
push 0
push 0x64
mov eax, dword [ebp - 0x62c0]
mov edx, dword [ebp - 0x62bc]
call fcn.0049d350
cmp edx, dword [esp + 4]
jne 0x4860bc
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x4860f6
jmp 0x4860c0
pop edx
pop eax
jle 0x4860f6
lea eax, [esi + 0x3f00]
call fcn.0040be48
push eax
mov eax, 0x50f
call fcn.004129c8
push eax
lea edx, [ebp - 0x350c]
push edx
call fcn.0049bdcc
add esp, 0xc
lea eax, [ebp - 0x350c]
call fcn.004755b8
jmp 0x48670b
lea edx, [esi + 0x1c18]
push edx
lea ecx, [ebp - 0x63a8]
push ecx
call fcn.00498e7c
add esp, 8
call fcn.00449c20
lea eax, [ebp - 0x63a8]
push eax
lea edx, [esi + 0x1c18]
push edx
call fcn.00498e7c
add esp, 8
lea ecx, [esi + 0x4300]
lea edx, [esi + 0x3f00]
mov eax, edi
call fcn.00457d7c
mov ecx, dword [edi + 0x208]
xor eax, eax
mov dword [esi + 0x2ab0], ecx
xor edx, edx
mov byte [esi + 0x21ce], 1
mov dword [esi + 0x2164], eax
mov dword [esi + 0x2190], edx
mov edx, str.cth
mov eax, dword [esi + 0x4b00]
call fcn.0040ff50
lea eax, [esi + 0x3f00]
call fcn.0040be48
push eax
mov eax, 0x20b
call fcn.004129c8
push eax
lea edx, [ebp - 0x350c]
push edx
call fcn.0049bdcc
add esp, 0xc
lea eax, [ebp - 0x350c]
call fcn.004755b8
cmp byte [esi + 0x2696], 0
je 0x4861b5
mov byte [esi + 0x2696], 0
mov byte [ebp - 0x739], 1
mov eax, edi
xor ecx, ecx
xor edx, edx
call fcn.00452bdc
cmp dword [0x4c98a0], 0
jne 0x48670b
call fcn.00487a64
cmp eax, dword [ebp - 0x764]
jne 0x48670b
cmp dword [ebp - 0x62c4], 0
jne 0x486216
cmp dword [ebp - 0x62c8], 0
jne 0x486216
cmp dword [ebp - 0x4a88], 0
jne 0x486207
cmp dword [ebp - 0x4a8c], 0x200
jb 0x486216
jmp 0x486209
jl 0x486216
cmp dword [ebp - 0x4580], 1
jbe 0x48670b
cmp dword [ebp - 8], 0
je 0x486264
mov eax, dword [ebp - 8]
cdq
push edx
push eax
mov eax, dword [ebp - 0x4570]
mov edx, dword [ebp - 0x456c]
call fcn.0049d350
push edx
push eax
push 0
push 0x64
mov eax, dword [ebp - 0x62c0]
mov edx, dword [ebp - 0x62bc]
call fcn.0049d350
cmp edx, dword [esp + 4]
jne 0x48625c
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x486264
jmp 0x48670b
pop edx
pop eax
jg 0x48670b
mov byte [ebp - 0x79d], 1
lea eax, [esi + 0x3f00]
call fcn.0040be48
push eax
mov eax, 0x25a
call fcn.004129c8
push eax
lea edx, [ebp - 0x350c]
push edx
call fcn.0049bdcc
add esp, 0xc
lea eax, [ebp - 0x350c]
call fcn.004755b8
inc dword [ebp - 0x740]
mov eax, dword [ebp - 0x4a8c]
mov edx, dword [ebp - 0x4a88]
add dword [ebp - 0x74c], eax
adc dword [ebp - 0x748], edx
lea eax, [ebp - 0x6848]
call fcn.004141d8
lea eax, [ebp - 0x681c]
call fcn.004141d8
lea eax, [ebp - 0x67f0]
call fcn.004141d8
push 0
lea ecx, [ebp - 0x745c]
lea edx, [esi + 0x4300]
lea eax, [esi + 0x3f00]
call fcn.00413298
test al, al
je 0x486310
mov eax, dword [ebp - 0x685c]
mov edx, dword [ebp - 0x6858]
add dword [ebp - 0x754], eax
adc dword [ebp - 0x750], edx
cmp byte [ebp - 0x781], 0
je 0x4865b0
push 1
push 0
mov eax, edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
call fcn.004567bc
dec eax
jne 0x48670b
mov word [ebp - 0x71c], 0x38
lea eax, [ebp - 0x708]
call fcn.0040fdcc
add dword [ebp - 0x710], 4
mov word [ebp - 0x71c], 0x44
push dword [ebx]
lea edx, [ebp - 0x785c]
push edx
call fcn.00498e7c
add esp, 8
mov byte [ebp - 0x79e], 0
lea ecx, [ebp - 0x785c]
lea eax, [ebp - 0x7c5c]
push ecx
push str._s._cvtbackup_
push eax
call fcn.0049bdcc
add esp, 0xc
lea edx, [ebp - 0x7c5c]
push edx
lea ecx, [ebp - 0x785c]
push ecx
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
jne 0x4863ab
mov byte [ebp - 0x79e], 1
jmp 0x4863ef
lea edx, [ebp - 0x785c]
lea eax, [ebp - 0x708]
call fcn.0040ff50
lea edx, [ebp - 0x7c5c]
lea eax, [ebp - 0x708]
call fcn.0040ff50
lea edx, [ebp - 0x785c]
mov eax, edi
call fcn.00458448
test al, al
je 0x4863ef
lea eax, [ebp - 0x785c]
xor edx, edx
call fcn.0040a838
test al, al
jne 0x486370
cmp byte [ebp - 0x79e], 0
jne 0x486557
push 1
push 0
lea ecx, [esi + 0x4300]
lea edx, [esi + 0x3f00]
mov eax, edi
call fcn.004567bc
dec eax
jne 0x486557
lea ecx, [esi + 0x3f00]
push ecx
lea eax, [ebp - 0x785c]
push eax
call fcn.00498e7c
add esp, 8
push dword [ebx]
lea edx, [ebp - 0x805c]
push edx
call fcn.00498e7c
add esp, 8
lea eax, [ebp - 0x785c]
call fcn.0040be48
push eax
lea eax, [ebp - 0x805c]
call fcn.0040be48
push eax
call fcn.00498e7c
add esp, 8
lea edx, [ebp - 0x805c]
push edx
lea ecx, [ebp - 0x785c]
push ecx
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
jne 0x486484
mov byte [ebp - 0x79e], 1
jmp 0x486557
cmp dword [ebp - 0x768], 0
je 0x486496
cmp dword [ebp - 0x768], 1
jne 0x4864ea
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x805c]
push eax
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x7a4], eax
mov word [ebp - 0x71c], 0x44
cmp dword [ebp - 0x7a4], 0xffffffff
je 0x4864ea
lea edx, [ebp - 0x45e4]
push edx
push 0
push 0
push dword [ebp - 0x7a4]
call sub.KERNEL32.DLL_SetFileTime
push dword [ebp - 0x7a4]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 0x785c]
mov eax, edi
call fcn.00458448
test al, al
je 0x486557
lea eax, [ebp - 0x785c]
xor edx, edx
call fcn.0040a838
test al, al
jne 0x486430
jmp 0x486557
cmp byte [ebp - 0x79e], 0
je 0x48653d
lea ecx, [ebp - 0x885c]
push ecx
call fcn.0049ba38
pop ecx
lea eax, [ebp - 0x885c]
push eax
lea edx, [ebp - 0x845c]
push edx
call sub.KERNEL32.DLL_MoveFileA
jmp 0x486557
lea eax, [ebp - 0x845c]
xor edx, edx
call fcn.0040ac64
lea ecx, [ebp - 0x845c]
push ecx
call fcn.0049ba38
pop ecx
lea edx, [ebp - 0x885c]
lea eax, [ebp - 0x708]
mov ecx, 0x400
call fcn.0040ffe8
test al, al
je 0x48658b
lea edx, [ebp - 0x845c]
lea eax, [ebp - 0x708]
mov ecx, 0x400
call fcn.0040ffe8
test al, al
jne 0x486512
sub dword [ebp - 0x710], 4
lea eax, [ebp - 0x708]
mov edx, 2
call fcn.0040fea4
mov word [ebp - 0x71c], 0x14
jmp 0x48670b
cmp byte [ebp - 0xc], 0
je 0x48664b
push 1
push 0
mov eax, edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
call fcn.004567bc
dec eax
jne 0x48664b
push dword [ebx]
lea eax, [ebp - 0x8c5c]
push eax
call fcn.00498e7c
add esp, 8
lea eax, [ebp - 0x8c5c]
call fcn.0040be48
push eax
mov eax, 0x258
call fcn.004129c8
push eax
lea edx, [ebp - 0x350c]
push edx
call fcn.0049bdcc
add esp, 0xc
lea eax, [ebp - 0x350c]
call fcn.004755b8
lea eax, [ebp - 0x8c5c]
xor edx, edx
call fcn.0040ac64
lea ecx, [ebp - 0x8c5c]
push ecx
call fcn.0049ba38
pop ecx
lea edx, [ebp - 0x8c5c]
mov eax, edi
call fcn.00458448
test al, al
je 0x48664b
lea eax, [ebp - 0x8c5c]
xor edx, edx
call fcn.0040a838
test al, al
jne 0x4865de
push 1
push 0
lea ecx, [esi + 0x4300]
lea edx, [esi + 0x3f00]
mov eax, edi
call fcn.004567bc
dec eax
jne 0x48670b
lea ecx, [esi + 0x3f00]
push ecx
lea eax, [ebp - 0x905c]
push eax
call fcn.00498e7c
add esp, 8
cmp dword [ebp - 0x768], 0
je 0x486691
cmp dword [ebp - 0x768], 1
jne 0x4866e5
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea edx, [ebp - 0x905c]
push edx
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x7a8], eax
mov word [ebp - 0x71c], 0x14
cmp dword [ebp - 0x7a8], 0xffffffff
je 0x4866e5
lea ecx, [ebp - 0x45e4]
push ecx
push 0
push 0
push dword [ebp - 0x7a8]
call sub.KERNEL32.DLL_SetFileTime
push dword [ebp - 0x7a8]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 0x905c]
mov eax, edi
call fcn.00458448
test al, al
je 0x48670b
lea eax, [ebp - 0x905c]
xor edx, edx
call fcn.0040a838
test al, al
jne 0x48667f
cmp byte [ebp - 0x79d], 0
jne 0x48672a
cmp byte [ebp - 0x781], 0
jne 0x48672a
lea ecx, [esi + 0x3f00]
push ecx
call fcn.0049ba38
pop ecx
lea eax, [ebp - 0x390c]
push eax
call fcn.0049a80c
pop ecx
lea eax, [ebp - 0x5a8c]
call fcn.004644f8
test al, al
je 0x486751
lea eax, [ebp - 0x5a8c]
call fcn.00463ca0
inc dword [ebp - 0x75c]
cmp dword [0x4c989c], 0
jne 0x48676d
cmp dword [0x4c98a0], 0
je 0x4857c1
mov eax, 0x271
cmp dword [0x4c98a0], 0
jne 0x486789
cmp dword [0x4c989c], 0
jne 0x486789
add eax, 0x25f
call fcn.004129c8
call fcn.004755b8
cmp dword [0x4c989c], 0
je 0x4867a9
push dword [0x4c6ef8]
call sub.USER32.DLL_DestroyWindow
jmp 0x4867c3
push 0
push 1
push 0
push 1
push 0
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.00474860
call fcn.0047565c
cmp dword [0x4c988c], 0
je 0x4867f4
push 0
push 0
lea ecx, [ebp - 0x13a8]
lea edx, [ebp - 0xba8]
mov eax, edi
call fcn.004567bc
dec eax
je 0x4867f4
mov eax, 0x4c6f00
call fcn.0045ea0c
test al, al
jne 0x486806
cmp dword [0x4c988c], 0
jne 0x48681d
cmp dword [ebp - 0x740], 0
jbe 0x48681d
lea eax, [esi + 0x3f00]
call fcn.0040be48
mov edx, eax
mov eax, 0x4c6f00
call fcn.0045905c
cmp byte [ebp - 4], 0
je 0x486833
mov eax, 0x4d65f8
mov edx, dword [str.InterfaceConvertProfile]
call fcn.00461ef0
mov eax, 0x4d65f8
call fcn.00461f48
cmp byte [ebp - 0x739], 0
je 0x48684b
call fcn.0041075c
dec dword [ebp - 0x710]
dec dword [ebp - 0x710]
dec dword [ebp - 0x710]
lea eax, [ebp - 0x420]
mov edx, 2
call fcn.0043dac4
sub dword [ebp - 0x710], 4
lea eax, [ebp - 0x518]
mov edx, 2
call fcn.0040fea4
mov ecx, dword [ebp - 0x72c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret