Function at 0x4470ec
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 0x4470f5
mov eax, dword [ebp - 4]
add esp, 0xffffffa4
push ebx
push esi
push edi
mov dword [ebp - 0x734], eax
mov esi, 0x4ae7e4
mov edi, 0x4ba55c
mov eax, 0x49dbc8
call fcn.0048d8c4
mov word [ebp - 0x720], 8
lea eax, [ebp - 0x51c]
call fcn.00464dc4
add dword [ebp - 0x714], 6
inc dword [ebp - 0x714]
lea edx, [ebp - 0x51c]
mov word [ebp - 0x720], 0x14
mov byte [ebp - 4], 0
cmp dword [0x4bc1a0], 0
mov dword [ebp - 0x738], edx
je 0x447230
lea ecx, [ebp - 0x13ac]
lea edx, [ebp - 0xbac]
mov eax, edi
call fcn.0045d1a4
push 0xc30
push 0
lea ecx, [ebp - 0x1fdc]
push ecx
call fcn.0048d2a4
add esp, 0xc
lea eax, [ebp - 0xbac]
push eax
lea edx, [ebp - 0x1fdc]
push edx
call fcn.0048d424
add esp, 8
lea edx, [ebp - 0x13ac]
lea eax, [ebp - 0x1bdc]
call fcn.0040f9f8
lea eax, [ebp - 0x247c]
call fcn.00412ecc
lea eax, [ebp - 0x2450]
call fcn.00412ecc
lea eax, [ebp - 0x2424]
call fcn.00412ecc
push 0
lea ecx, [ebp - 0x3090]
lea edx, [ebp - 0x13ac]
lea eax, [ebp - 0xbac]
call fcn.00411fe4
test al, al
je 0x44720f
mov edx, dword [ebp - 0x2490]
mov dword [ebp - 0x13dc], edx
mov edx, dword [ebp - 0x248c]
mov dword [ebp - 0x13d8], edx
lea edx, [ebp - 0x1fdc]
mov eax, dword [ebp - 0x738]
call fcn.00464f04
mov eax, dword [ebp - 0x738]
call fcn.004651b8
jmp 0x44735d
mov word [ebp - 0x720], 0x20
lea eax, [ebp - 0x614]
call fcn.0040eedc
add dword [ebp - 0x714], 4
mov word [ebp - 0x720], 0x2c
lea edx, [ebp - 0x614]
mov dword [ebp - 0x73c], edx
cmp dword [ebp - 0x734], 0
je 0x447277
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x73c], ecx
jmp 0x447289
lea edx, [ebp - 0x614]
mov eax, 0x4b982c
xor ecx, ecx
call fcn.00463894
push 1
push 1
push 1
push 0
mov ecx, dword [ebp - 0x738]
mov edx, 2
mov eax, dword [ebp - 0x73c]
call fcn.004686b8
test al, al
jne 0x44730d
sub dword [ebp - 0x714], 4
lea eax, [ebp - 0x614]
mov edx, 2
call fcn.0040eff8
dec dword [ebp - 0x714]
dec dword [ebp - 0x714]
dec dword [ebp - 0x714]
lea eax, [ebp - 0x424]
mov edx, 2
call fcn.004393d4
sub dword [ebp - 0x714], 4
lea eax, [ebp - 0x51c]
mov edx, 2
call fcn.0040eff8
mov ecx, dword [ebp - 0x730]
mov dword fs:[0], ecx
jmp 0x448540
xor ebx, ebx
jmp 0x44732d
mov edx, ebx
mov eax, dword [ebp - 0x738]
call fcn.00465288
mov word [ebp - 0x720], 0x2c
xor ecx, ecx
mov dword [eax + 8], ecx
inc ebx
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 0x104]
cmp edx, ebx
ja 0x447311
sub dword [ebp - 0x714], 4
lea eax, [ebp - 0x614]
mov edx, 2
call fcn.0040eff8
mov word [ebp - 0x720], 0x14
mov eax, 0x49cdb0
call fcn.00465cb8
mov byte [ebp - 0x73d], al
mov word [ebp - 0x720], 0x14
cmp byte [ebp - 0x73d], 0
je 0x44738e
mov edx, 0x49cdca
mov eax, 0x49cdb0
call fcn.00465c1c
xor edx, edx
mov dword [ebp - 0x744], edx
lea ecx, [ebp - 0x51c]
push ecx
push 0x43c7db
push dword [0x4b9818]
push 0x49cde8
push dword [0x4a6fb0]
call sub.USER32.DLL_DialogBoxParamA
test eax, eax
je 0x4484c6
mov edx, 0x49cdf3
mov eax, 0x49cdb0
xor ecx, ecx
call fcn.004659f0
test eax, eax
setne al
and eax, 1
mov byte [ebp - 0x745], al
push 0
mov cl, byte [ebp - 0x745]
xor edx, edx
mov eax, 8
call fcn.00475ac0
lea edx, [ebp - 0x3910]
push edx
push 0x400
call sub.KERNEL32.DLL_GetCurrentDirectoryA
mov dword [ebp - 0x750], 0
mov dword [ebp - 0x74c], 0
mov dword [ebp - 0x758], 0
mov dword [ebp - 0x754], 0
xor ecx, ecx
mov dword [0x4bcb00], 0
mov dword [0x4bcb04], 0
mov dword [ebp - 0x75c], ecx
xor ebx, ebx
jmp 0x447483
mov edx, ebx
mov eax, dword [ebp - 0x738]
call fcn.00465288
mov ecx, eax
mov word [ebp - 0x720], 0x14
test byte [ecx + 8], 8
je 0x447482
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
add dword [0x4bcb00], eax
adc dword [0x4bcb04], edx
inc dword [ebp - 0x75c]
inc ebx
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 0x104]
cmp edx, ebx
ja 0x44744c
mov eax, dword [ebp - 0x75c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x3510]
call fcn.004440b8
lea edx, [ebp - 0x3510]
push edx
push 0x65
push dword [0x4b9824]
call sub.USER32.DLL_SetDlgItemTextA
mov dword [0x4bcaf8], 0
mov dword [0x4bcafc], 0
xor ecx, ecx
mov dword [ebp - 0x760], ecx
mov dword [ebp - 0x764], 0xffffffff
jmp 0x448413
mov eax, dword [ebp - 0x744]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x3510]
call fcn.004440b8
lea edx, [ebp - 0x3510]
push edx
push 0x66
push dword [0x4b9824]
call sub.USER32.DLL_SetDlgItemTextA
push dword [ebp - 0x74c]
push dword [ebp - 0x750]
lea eax, [ebp - 0x3510]
call fcn.004440b8
lea edx, [ebp - 0x3510]
push edx
push 0x67
push dword [0x4b9824]
call sub.USER32.DLL_SetDlgItemTextA
push dword [ebp - 0x754]
push dword [ebp - 0x758]
lea eax, [ebp - 0x3510]
call fcn.004440b8
lea edx, [ebp - 0x3510]
push edx
push 0x68
push dword [0x4b9824]
call sub.USER32.DLL_SetDlgItemTextA
cmp dword [ebp - 0x764], 0xffffffff
je 0x4475ae
lea ecx, [ebp - 0x4540]
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x738]
call fcn.004650ec
lea ecx, [ebp - 0x4540]
mov eax, dword [ecx + 0xc00]
mov edx, dword [ecx + 0xc04]
add dword [0x4bcaf8], eax
adc dword [0x4bcafc], edx
mov dword [ebp - 0x764], 0xffffffff
call fcn.004778c0
mov eax, dword [ebp - 0x738]
mov edx, dword [eax + 0x104]
cmp edx, dword [ebp - 0x760]
jbe 0x448429
mov edx, dword [ebp - 0x760]
mov eax, dword [ebp - 0x738]
call fcn.00465288
mov ebx, eax
mov word [ebp - 0x720], 0x14
test byte [ebx + 8], 8
je 0x44840d
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x764], eax
push 0
push 1
mov eax, edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
call fcn.0045bc70
dec eax
jne 0x44840d
lea edx, [ebp - 0x45dc]
mov eax, edi
call fcn.0045d1d8
lea eax, [ebp - 0x4a7c]
call fcn.00412ecc
lea eax, [ebp - 0x4a50]
call fcn.00412ecc
lea eax, [ebp - 0x4a24]
call fcn.00412ecc
push 0
lea ecx, [ebp - 0x5690]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
call fcn.00411fe4
test al, al
je 0x44840d
cmp byte [esi + 0x1c10], 0
jne 0x447688
cmp dword [ebp - 0x4550], 0
je 0x447688
mov eax, 0x50e
call fcn.004117b8
push eax
push dword [ebx]
call fcn.00444944
add esp, 8
jmp 0x44840d
lea edx, [ebp - 0x5a90]
mov eax, 0x49cdfe
call fcn.00467b38
test al, al
je 0x44840d
lea edx, [ebp - 0x5a90]
push edx
call fcn.0048ee28
pop ecx
cmp dword [0x4bc1a4], 1
jne 0x4476bd
mov eax, esi
call fcn.00422b68
call fcn.0045259c
lea ecx, [esi + 0x42d8]
lea edx, [esi + 0x3ed8]
mov eax, edi
call fcn.0045d1a4
mov edx, dword [edi + 0x208]
mov dword [esi + 0x2a90], edx
call fcn.00453070
mov dword [esi + 0x209c], 1
mov dword [esi + 0x2684], 4
mov dword [esi + 0x2688], 4
mov edx, 0x49cae1
mov eax, dword [esi + 0x4ad8]
call fcn.0040f0a4
lea ecx, [esi + 0x3ed8]
mov eax, 0x20a
push ecx
call fcn.004117b8
push eax
lea edx, [ebp - 0x3510]
push edx
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x3510]
call fcn.004776c4
call fcn.0044a49c
mov dword [ebp - 0x768], eax
mov eax, edi
xor ecx, ecx
xor edx, edx
call fcn.004586e0
cmp dword [0x4bc1b0], 0
jne 0x4483e6
call fcn.0044a49c
cmp eax, dword [ebp - 0x768]
jne 0x4483e6
call fcn.00452d50
mov eax, dword [esi + 0x20e4]
mov dword [ebp - 0x76c], eax
mov byte [esi + 0x21b6], 0
cmp byte [esi + 0x1410], 0
jne 0x447814
xor edx, edx
xor ecx, ecx
mov dword [ebp - 0x770], edx
mov dword [ebp - 0x774], ecx
lea ecx, [ebp - 0x774]
lea edx, [ebp - 0x770]
mov eax, edi
call fcn.0045d5b4
cmp dword [ebp - 0x774], 0
jle 0x447808
lea edx, [esi + 0x1410]
mov eax, 0x49ce0b
call fcn.00467ab8
mov dword [ebp - 0x778], eax
cmp dword [ebp - 0x778], 0
je 0x447808
push dword [ebp - 0x778]
push dword [ebp - 0x774]
push 1
push dword [ebp - 0x770]
call fcn.0048f7e4
add esp, 0x10
push dword [ebp - 0x778]
call fcn.0048eed0
pop ecx
push dword [ebp - 0x770]
call fcn.0048ba28
pop ecx
lea edx, [ebp - 0x5e90]
mov eax, dword [ebx]
call fcn.0040bac0
lea ecx, [ebp - 0x40c]
push ecx
lea eax, [ebp - 0x6290]
push eax
call fcn.0048d424
add esp, 8
cmp byte [ebp - 0x6290], 0
je 0x44784b
lea eax, [ebp - 0x6290]
call fcn.0040ba78
mov eax, dword [ebx]
call fcn.0040ca0c
mov byte [ebp - 0x779], al
cmp dword [esi + 0x2a90], 0
jne 0x447868
mov edx, 0x49ca99
jmp 0x44786d
mov edx, 0x49caa9
mov dword [ebp - 0x780], edx
cmp dword [esi + 0x2a90], 0
jne 0x447883
mov eax, 0x49caa0
jmp 0x447888
mov eax, 0x49cab0
mov dword [ebp - 0x784], eax
cmp byte [esi + 0x410], 0
je 0x4478ab
mov dword [ebp - 0x780], 0x49ccae
mov dword [ebp - 0x784], 0x49ce18
mov edx, dword [ebp - 0x780]
mov eax, dword [ebx]
call fcn.0040b9bc
test al, al
je 0x4478da
cmp byte [ebp - 0x6290], 0
je 0x4478de
lea edx, [ebp - 0x5e90]
lea eax, [ebp - 0x6290]
call fcn.0040e6f4
test eax, eax
je 0x4478de
xor edx, edx
jmp 0x4478e3
mov edx, 1
mov byte [ebp - 0x785], dl
cmp byte [ebp - 0x785], 0
je 0x447a62
lea ecx, [ebp - 0x5a90]
push ecx
lea eax, [esi + 0x3ed8]
push eax
call fcn.0048d424
add esp, 8
lea eax, [esi + 0x3ed8]
call fcn.0040ba78
mov eax, dword [ebx + 4]
test eax, eax
je 0x447951
cmp word [eax], 0
je 0x447951
lea edx, [esi + 0x42d8]
lea eax, [esi + 0x3ed8]
mov ecx, 0x10000000
call fcn.0040f968
mov eax, dword [ebx + 4]
call fcn.0040b61c
mov edx, eax
lea eax, [esi + 0x42d8]
call fcn.0040fa2c
jmp 0x44795a
mov word [esi + 0x42d8], 0
mov eax, dword [ebx]
call fcn.0040b590
push eax
lea edx, [esi + 0x3ed8]
push edx
call fcn.0048d348
add esp, 8
lea eax, [esi + 0x3ed8]
call fcn.0040b960
mov dword [ebp - 0x78c], eax
cmp dword [ebp - 0x78c], 0
je 0x447bec
mov edx, dword [ebp - 0x78c]
mov byte [edx], 0
lea eax, [esi + 0x3ed8]
call fcn.0040b960
mov dword [ebp - 0x790], eax
mov edx, dword [ebp - 0x78c]
mov byte [edx], 0x2e
cmp dword [ebp - 0x790], 0
je 0x447bec
cmp byte [ebp - 0x779], 0
je 0x447bec
cmp dword [ebp - 0x45cc], 0
jne 0x447bec
cmp dword [ebp - 0x4568], 0
je 0x447bec
push dword [ebp - 0x78c]
push dword [ebp - 0x790]
call fcn.0048d424
add esp, 8
lea eax, [esi + 0x42d8]
call fcn.0040b998
mov dword [ebp - 0x794], eax
cmp dword [ebp - 0x794], 0
je 0x447bec
mov edx, dword [ebp - 0x794]
mov word [edx], 0
lea eax, [esi + 0x42d8]
call fcn.0040b998
mov dword [ebp - 0x798], eax
mov edx, dword [ebp - 0x794]
mov word [edx], 0x2e
cmp dword [ebp - 0x798], 0
je 0x447bec
mov edx, dword [ebp - 0x794]
mov eax, dword [ebp - 0x798]
call fcn.0040f9f8
jmp 0x447bec
cmp byte [ebp - 0x6290], 0
je 0x447a9a
lea ecx, [ebp - 0x6290]
push ecx
lea eax, [esi + 0x3ed8]
push eax
call fcn.0048d424
add esp, 8
mov eax, dword [ebx]
call fcn.0040b590
push eax
lea edx, [esi + 0x3ed8]
push edx
call fcn.0048d348
add esp, 8
jmp 0x447aab
push dword [ebx]
lea ecx, [esi + 0x3ed8]
push ecx
call fcn.0048d424
add esp, 8
lea eax, [esi + 0x3ed8]
call fcn.0040b960
mov dword [ebp - 0x79c], eax
cmp dword [ebp - 0x79c], 0
je 0x447b36
mov edx, dword [ebp - 0x79c]
mov byte [edx], 0
lea eax, [esi + 0x3ed8]
call fcn.0040b960
test eax, eax
je 0x447b2d
mov edx, 0x49ce20
call fcn.0040e6f4
test eax, eax
je 0x447b06
cmp byte [ebp - 0x779], 0
je 0x447b2d
cmp dword [ebp - 0x45cc], 0
jne 0x447b2d
cmp dword [ebp - 0x4568], 0
je 0x447b2d
lea eax, [esi + 0x42d8]
call fcn.0040b998
mov dword [ebp - 0x7a0], eax
cmp dword [ebp - 0x7a0], 0
je 0x447b36
mov edx, dword [ebp - 0x7a0]
mov word [edx], 0
jmp 0x447b36
mov ecx, dword [ebp - 0x79c]
mov byte [ecx], 0x2e
lea eax, [esi + 0x3ed8]
mov edx, dword [ebp - 0x780]
call fcn.0040b8a4
cmp dword [ebx + 4], 0
je 0x447bad
mov ecx, dword [ebx + 4]
cmp word [ecx], 0
je 0x447bad
cmp byte [ebp - 0x6290], 0
je 0x447b8c
lea edx, [esi + 0x42d8]
lea eax, [ebp - 0x6290]
mov ecx, 0x10000000
call fcn.0040f968
mov eax, dword [ebx + 4]
call fcn.0040b61c
mov edx, eax
lea eax, [esi + 0x42d8]
call fcn.0040fa2c
jmp 0x447b9a
lea eax, [esi + 0x42d8]
mov edx, dword [ebx + 4]
call fcn.0040f9f8
lea eax, [esi + 0x42d8]
mov edx, dword [ebp - 0x784]
call fcn.0040b8ec
jmp 0x447bb6
mov word [esi + 0x42d8], 0
lea edx, [esi + 0x42d8]
lea eax, [esi + 0x3ed8]
call fcn.0040a0e0
test al, al
je 0x447bec
mov eax, 0x50d
call fcn.004117b8
push eax
lea edx, [esi + 0x3ed8]
push edx
call fcn.00444944
add esp, 8
mov byte [ebp - 0x785], 1
call fcn.0044a49c
cmp eax, dword [ebp - 0x768]
jne 0x447c72
lea ecx, [ebp - 0x5a90]
push ecx
call fcn.0048ee28
pop ecx
mov edx, 0x49cae1
mov dword [esi + 0x20c4], 2
mov dword [esi + 0x20c0], 1
mov byte [esi + 0x20fc], 0
mov byte [esi + 0x20fe], 0
mov eax, dword [esi + 0x4ad8]
call fcn.0040f0a4
lea eax, [esi + 0x3ed8]
call fcn.0040b590
push eax
mov eax, 0x208
call fcn.004117b8
push eax
lea edx, [ebp - 0x3510]
push edx
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x3510]
call fcn.004776c4
mov eax, edi
xor edx, edx
call fcn.00458b34
cmp byte [esi + 0x1410], 0
je 0x447c97
lea eax, [esi + 0x1410]
call fcn.00467d58
test al, al
je 0x447c97
lea edx, [esi + 0x1410]
push edx
call fcn.00490058
pop ecx
mov byte [ebp - 0x7a1], 0
cmp dword [0x4bc1b0], 0
jne 0x4483c7
call fcn.0044a49c
cmp eax, dword [ebp - 0x768]
jne 0x4483c7
push 0
push 1
lea ecx, [esi + 0x42d8]
lea edx, [esi + 0x3ed8]
mov eax, edi
call fcn.0045bc70
dec eax
jne 0x4483c7
lea edx, [ebp - 0x632c]
mov eax, edi
call fcn.0045d1d8
mov eax, dword [ebp - 0x457c]
mov edx, dword [ebp - 0x4578]
cmp edx, dword [ebp - 0x62c8]
jne 0x447d01
cmp eax, dword [ebp - 0x62cc]
je 0x447d4c
cmp dword [ebp - 0x4578], 0
jne 0x447d13
cmp dword [ebp - 0x457c], 0
je 0x447d4c
mov edx, 0x49ce25
lea eax, [ebp - 0x45dc]
call fcn.0040e6f4
test eax, eax
jne 0x447d32
cmp dword [ebp - 0x4568], 0
jne 0x447d4c
mov eax, 0x50a
call fcn.004117b8
push eax
push dword [ebx]
call fcn.00444944
add esp, 8
jmp 0x4483c7
cmp dword [ebp - 8], 0
je 0x447dc9
mov eax, dword [ebp - 8]
cdq
push edx
push eax
mov eax, dword [ebp - 0x4574]
mov edx, dword [ebp - 0x4570]
call fcn.0049189c
push edx
push eax
push 0
push 0x64
mov eax, dword [ebp - 0x62c4]
mov edx, dword [ebp - 0x62c0]
call fcn.0049189c
cmp edx, dword [esp + 4]
jne 0x447d8f
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x447dc9
jmp 0x447d93
pop edx
pop eax
jle 0x447dc9
lea eax, [esi + 0x3ed8]
call fcn.0040b590
push eax
mov eax, 0x50f
call fcn.004117b8
push eax
lea edx, [ebp - 0x3510]
push edx
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x3510]
call fcn.004776c4
jmp 0x4483c7
lea edx, [esi + 0x1c10]
push edx
lea ecx, [ebp - 0x63ac]
push ecx
call fcn.0048d424
add esp, 8
call fcn.0045259c
lea eax, [ebp - 0x63ac]
push eax
lea edx, [esi + 0x1c10]
push edx
call fcn.0048d424
add esp, 8
lea ecx, [esi + 0x42d8]
lea edx, [esi + 0x3ed8]
mov eax, edi
call fcn.0045d1a4
mov ecx, dword [edi + 0x208]
xor eax, eax
mov dword [esi + 0x2a90], ecx
xor edx, edx
mov byte [esi + 0x21b6], 1
mov dword [esi + 0x215c], eax
mov dword [esi + 0x2188], edx
mov edx, 0x49cae1
mov eax, dword [esi + 0x4ad8]
call fcn.0040f0a4
lea eax, [esi + 0x3ed8]
call fcn.0040b590
push eax
mov eax, 0x20b
call fcn.004117b8
push eax
lea edx, [ebp - 0x3510]
push edx
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x3510]
call fcn.004776c4
mov eax, edi
xor ecx, ecx
xor edx, edx
call fcn.004586e0
cmp dword [0x4bc1b0], 0
jne 0x4483c7
call fcn.0044a49c
cmp eax, dword [ebp - 0x768]
jne 0x4483c7
cmp dword [ebp - 0x62c8], 0
jne 0x447ed2
cmp dword [ebp - 0x62cc], 0
jne 0x447ed2
cmp dword [ebp - 0x4a8c], 0
jne 0x447ec3
cmp dword [ebp - 0x4a90], 0x200
jb 0x447ed2
jmp 0x447ec5
jl 0x447ed2
cmp dword [ebp - 0x4584], 1
jbe 0x4483c7
cmp dword [ebp - 8], 0
je 0x447f20
mov eax, dword [ebp - 8]
cdq
push edx
push eax
mov eax, dword [ebp - 0x4574]
mov edx, dword [ebp - 0x4570]
call fcn.0049189c
push edx
push eax
push 0
push 0x64
mov eax, dword [ebp - 0x62c4]
mov edx, dword [ebp - 0x62c0]
call fcn.0049189c
cmp edx, dword [esp + 4]
jne 0x447f18
cmp eax, dword [esp]
pop edx
pop eax
jbe 0x447f20
jmp 0x4483c7
pop edx
pop eax
jg 0x4483c7
mov byte [ebp - 0x7a1], 1
lea eax, [esi + 0x3ed8]
call fcn.0040b590
push eax
mov eax, 0x25a
call fcn.004117b8
push eax
lea edx, [ebp - 0x3510]
push edx
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x3510]
call fcn.004776c4
inc dword [ebp - 0x744]
mov eax, dword [ebp - 0x4a90]
mov edx, dword [ebp - 0x4a8c]
add dword [ebp - 0x750], eax
adc dword [ebp - 0x74c], edx
lea eax, [ebp - 0x684c]
call fcn.00412ecc
lea eax, [ebp - 0x6820]
call fcn.00412ecc
lea eax, [ebp - 0x67f4]
call fcn.00412ecc
push 0
lea ecx, [ebp - 0x7460]
lea edx, [esi + 0x42d8]
lea eax, [esi + 0x3ed8]
call fcn.00411fe4
test al, al
je 0x447fcc
mov eax, dword [ebp - 0x6860]
mov edx, dword [ebp - 0x685c]
add dword [ebp - 0x758], eax
adc dword [ebp - 0x754], edx
cmp byte [ebp - 0x785], 0
je 0x44826c
push 1
push 0
mov eax, edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
call fcn.0045bc70
dec eax
jne 0x4483c7
mov word [ebp - 0x720], 0x38
lea eax, [ebp - 0x70c]
call fcn.0040eedc
add dword [ebp - 0x714], 4
mov word [ebp - 0x720], 0x44
push dword [ebx]
lea edx, [ebp - 0x7860]
push edx
call fcn.0048d424
add esp, 8
mov byte [ebp - 0x7a2], 0
lea ecx, [ebp - 0x7860]
lea eax, [ebp - 0x7c60]
push ecx
push 0x49ce29
push eax
call fcn.004902f4
add esp, 0xc
lea edx, [ebp - 0x7c60]
push edx
lea ecx, [ebp - 0x7860]
push ecx
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
jne 0x448067
mov byte [ebp - 0x7a2], 1
jmp 0x4480ab
lea edx, [ebp - 0x7860]
lea eax, [ebp - 0x70c]
call fcn.0040f0a4
lea edx, [ebp - 0x7c60]
lea eax, [ebp - 0x70c]
call fcn.0040f0a4
lea edx, [ebp - 0x7860]
mov eax, edi
call fcn.0045d688
test al, al
je 0x4480ab
lea eax, [ebp - 0x7860]
xor edx, edx
call fcn.0040a0e0
test al, al
jne 0x44802c
cmp byte [ebp - 0x7a2], 0
jne 0x448213
push 1
push 0
lea ecx, [esi + 0x42d8]
lea edx, [esi + 0x3ed8]
mov eax, edi
call fcn.0045bc70
dec eax
jne 0x448213
lea ecx, [esi + 0x3ed8]
push ecx
lea eax, [ebp - 0x7860]
push eax
call fcn.0048d424
add esp, 8
push dword [ebx]
lea edx, [ebp - 0x8060]
push edx
call fcn.0048d424
add esp, 8
lea eax, [ebp - 0x7860]
call fcn.0040b590
push eax
lea eax, [ebp - 0x8060]
call fcn.0040b590
push eax
call fcn.0048d424
add esp, 8
lea edx, [ebp - 0x8060]
push edx
lea ecx, [ebp - 0x7860]
push ecx
call sub.KERNEL32.DLL_MoveFileA
test eax, eax
jne 0x448140
mov byte [ebp - 0x7a2], 1
jmp 0x448213
cmp dword [ebp - 0x76c], 0
je 0x448152
cmp dword [ebp - 0x76c], 1
jne 0x4481a6
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x8060]
push eax
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x7a8], eax
mov word [ebp - 0x720], 0x44
cmp dword [ebp - 0x7a8], 0xffffffff
je 0x4481a6
lea edx, [ebp - 0x45e8]
push edx
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 - 0x7860]
mov eax, edi
call fcn.0045d688
test al, al
je 0x448213
lea eax, [ebp - 0x7860]
xor edx, edx
call fcn.0040a0e0
test al, al
jne 0x4480ec
jmp 0x448213
cmp byte [ebp - 0x7a2], 0
je 0x4481f9
lea ecx, [ebp - 0x8860]
push ecx
call fcn.00490058
pop ecx
lea eax, [ebp - 0x8860]
push eax
lea edx, [ebp - 0x8460]
push edx
call sub.KERNEL32.DLL_MoveFileA
jmp 0x448213
lea eax, [ebp - 0x8460]
xor edx, edx
call fcn.0040a50c
lea ecx, [ebp - 0x8460]
push ecx
call fcn.00490058
pop ecx
lea edx, [ebp - 0x8860]
lea eax, [ebp - 0x70c]
mov ecx, 0x400
call fcn.0040f128
test al, al
je 0x448247
lea edx, [ebp - 0x8460]
lea eax, [ebp - 0x70c]
mov ecx, 0x400
call fcn.0040f128
test al, al
jne 0x4481ce
sub dword [ebp - 0x714], 4
lea eax, [ebp - 0x70c]
mov edx, 2
call fcn.0040eff8
mov word [ebp - 0x720], 0x14
jmp 0x4483c7
cmp byte [ebp - 0xc], 0
je 0x448307
push 1
push 0
mov eax, edi
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
call fcn.0045bc70
dec eax
jne 0x448307
push dword [ebx]
lea eax, [ebp - 0x8c60]
push eax
call fcn.0048d424
add esp, 8
lea eax, [ebp - 0x8c60]
call fcn.0040b590
push eax
mov eax, 0x258
call fcn.004117b8
push eax
lea edx, [ebp - 0x3510]
push edx
call fcn.004902f4
add esp, 0xc
lea eax, [ebp - 0x3510]
call fcn.004776c4
lea eax, [ebp - 0x8c60]
xor edx, edx
call fcn.0040a50c
lea ecx, [ebp - 0x8c60]
push ecx
call fcn.00490058
pop ecx
lea edx, [ebp - 0x8c60]
mov eax, edi
call fcn.0045d688
test al, al
je 0x448307
lea eax, [ebp - 0x8c60]
xor edx, edx
call fcn.0040a0e0
test al, al
jne 0x44829a
push 1
push 0
lea ecx, [esi + 0x42d8]
lea edx, [esi + 0x3ed8]
mov eax, edi
call fcn.0045bc70
dec eax
jne 0x4483c7
lea ecx, [esi + 0x3ed8]
push ecx
lea eax, [ebp - 0x9060]
push eax
call fcn.0048d424
add esp, 8
cmp dword [ebp - 0x76c], 0
je 0x44834d
cmp dword [ebp - 0x76c], 1
jne 0x4483a1
push 0
push 0
push 3
push 0
push 0
push 0x40000000
lea edx, [ebp - 0x9060]
push edx
call sub.KERNEL32.DLL_CreateFileA
mov dword [ebp - 0x7ac], eax
mov word [ebp - 0x720], 0x14
cmp dword [ebp - 0x7ac], 0xffffffff
je 0x4483a1
lea ecx, [ebp - 0x45e8]
push ecx
push 0
push 0
push dword [ebp - 0x7ac]
call sub.KERNEL32.DLL_SetFileTime
push dword [ebp - 0x7ac]
call sub.KERNEL32.DLL_CloseHandle
lea edx, [ebp - 0x9060]
mov eax, edi
call fcn.0045d688
test al, al
je 0x4483c7
lea eax, [ebp - 0x9060]
xor edx, edx
call fcn.0040a0e0
test al, al
jne 0x44833b
cmp byte [ebp - 0x7a1], 0
jne 0x4483e6
cmp byte [ebp - 0x785], 0
jne 0x4483e6
lea ecx, [esi + 0x3ed8]
push ecx
call fcn.00490058
pop ecx
lea eax, [ebp - 0x3910]
push eax
call fcn.0048ee28
pop ecx
lea eax, [ebp - 0x5a90]
call fcn.00467d58
test al, al
je 0x44840d
lea eax, [ebp - 0x5a90]
call fcn.004675b8
inc dword [ebp - 0x760]
cmp dword [0x4bc1ac], 0
jne 0x448429
cmp dword [0x4bc1b0], 0
je 0x4474e7
cmp dword [0x4bc1b0], 0
jne 0x44843b
cmp dword [0x4bc1ac], 0
je 0x448442
mov eax, 0x271
jmp 0x448447
mov eax, 0x4d0
call fcn.004117b8
call fcn.004776c4
cmp dword [0x4bc1ac], 0
je 0x448467
push dword [0x4b9824]
call sub.USER32.DLL_DestroyWindow
jmp 0x44846c
call fcn.0047775c
cmp dword [0x4bc1a0], 0
je 0x44849d
push 0
push 0
lea ecx, [ebp - 0x13ac]
lea edx, [ebp - 0xbac]
mov eax, edi
call fcn.0045bc70
dec eax
je 0x44849d
mov eax, 0x4b982c
call fcn.00463a38
test al, al
jne 0x4484af
cmp dword [0x4bc1a0], 0
jne 0x4484c6
cmp dword [ebp - 0x744], 0
jbe 0x4484c6
lea eax, [esi + 0x3ed8]
call fcn.0040b590
mov edx, eax
mov eax, 0x4b982c
call fcn.0045e284
cmp byte [ebp - 0x73d], 0
jne 0x4484d5
cmp byte [ebp - 4], 0
je 0x4484f0
mov edx, 0x49cdb0
mov eax, 0x49cdca
call fcn.00465c1c
mov eax, 0x49cdca
call fcn.00465c78
jmp 0x4484fa
mov eax, 0x49cdb0
call fcn.00465c78
dec dword [ebp - 0x714]
dec dword [ebp - 0x714]
dec dword [ebp - 0x714]
lea eax, [ebp - 0x424]
mov edx, 2
call fcn.004393d4
sub dword [ebp - 0x714], 4
lea eax, [ebp - 0x51c]
mov edx, 2
call fcn.0040eff8
mov ecx, dword [ebp - 0x730]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret