Function at 0x443660
Capabilities:
Delete file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4b8ca2
mov eax, dword fs:[0]
push eax
sub esp, 0xcc4
mov eax, dword [0x50a360]
xor eax, esp
mov dword [esp + 0xcc0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50a360]
xor eax, esp
push eax
lea eax, [esp + 0xcd8]
mov dword fs:[0], eax
mov ebp, ecx
call fcn.00471eac
mov ecx, dword [eax + 4]
call fcn.0046b2c8
xor ebx, ebx
mov dword [esp + 0xce0], ebx
cmp dword [ebp + 0x308], ebx
je 0x44587b
cmp dword [ebp + 0xc84], ebx
je 0x44587b
cmp dword [ebp + 0xc78], ebx
je 0x44587b
lea esi, [ebx + 1]
cmp dword [0x50b8cc], ebx
je 0x443736
lea ecx, [esp + 0x4c]
call fcn.00401600
push str._Status_
lea eax, [esp + 0x50]
push str._s_ongoing
push eax
mov byte [esp + 0xcec], 1
call fcn.00401cb0
mov edx, dword [esp + 0x58]
add esp, 0xc
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
call fcn.00402560
mov ecx, 0x50b7e0
call fcn.0040b590
lea ecx, [esp + 0x4c]
mov byte [esp + 0xce0], bl
call fcn.00401480
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov dword [esp + 0x70], eax
mov dword [esp + 0x50], ebx
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x60], ebx
call fcn.0046c2c1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x44377e
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x44], eax
mov byte [esp + 0xce0], 2
mov dword [esp + 0x5c], ebx
call fcn.0046c2c1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4437b4
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x40], eax
mov ecx, dword [ebp + 0x160]
push ebx
push ebx
push 0x1004
push ecx
mov byte [esp + 0xcf0], 3
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [esp + 0x68], eax
cmp eax, ebx
jne 0x44383d
push ebx
push ebx
push str.Please_select_files_to_download_
call fcn.0046cf28
cmp dword [0x50b8cc], ebx
je 0x443826
mov ecx, ebp
call fcn.00407530
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push ebx
push 2
push 0x111
push edx
call esi
call fcn.0040ce20
mov eax, dword [eax + 0x20]
push ebx
push ebx
push 0x10
push eax
call esi
lea ecx, [esp + 0x40]
call fcn.00401480
lea ecx, [esp + 0x44]
call fcn.00401480
jmp 0x4458c7
lea ecx, [esp + 0x30]
call fcn.00401600
mov eax, dword [ebp + 0x308]
mov byte [esp + 0xce0], 4
mov dword [esp + 0x54], ebx
mov edi, esi
mov dword [esp + 0x74], esi
cmp dword [eax + 0x210], esi
jne 0x44386f
mov edi, 2
mov dword [esp + 0x74], edi
cmp dword [eax + 0x448], ebx
je 0x443d53
cmp dword [eax + 0x44c], ebx
je 0x443d53
mov dword [esp + 0x54], esi
lea esi, [ebp + 0x140]
mov ecx, esi
call fcn.0040ce40
xor ebx, ebx
cmp edi, eax
jge 0x443b5b
push edi
mov ecx, esi
call fcn.0046f5b5
test eax, eax
je 0x4438df
push 1
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, esi
call fcn.0046f422
mov edx, dword [esp + 0x24]
mov byte [esp + 0xce0], 5
lea ecx, [esp + 0x24]
cmp dword [edx - 0xc], ebx
jne 0x4438f0
mov byte [esp + 0xce0], 4
call fcn.00401480
mov ecx, esi
inc edi
call fcn.0040ce40
cmp edi, eax
jl 0x4438a2
jmp 0x443b5b
push 0x5c
call fcn.00405220
mov esi, eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
call fcn.00401630
mov byte [esp + 0xce0], 6
cmp esi, 0xffffffff
je 0x443984
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x2c]
call fcn.004019b0
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0xce4], 7
call fcn.00401bf0
lea ecx, [esp + 0x18]
mov byte [esp + 0xce0], 6
call fcn.00401480
push esi
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
call fcn.00401a30
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xce4], 8
call fcn.00401bf0
lea ecx, [esp + 0x18]
mov byte [esp + 0xce0], 6
call fcn.00401480
jmp 0x44398d
lea ecx, [esp + 0x24]
call fcn.004014a0
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00401630
mov eax, dword [ebp + 0x308]
xor edi, edi
mov byte [esp + 0xce0], 9
cmp dword [eax + 0x44c], ebx
jbe 0x443ae3
xor esi, esi
lea esp, [esp]
mov edx, dword [eax + 0x450]
lea eax, [edx + esi + 4]
push eax
lea ecx, [esp + 0x20]
call fcn.00402560
push 0x4c7140
lea ecx, [esp + 0x20]
mov byte [esp + 0xce4], 0xa
call fcn.00402520
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
push eax
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x30]
call fcn.00401a30
mov ecx, dword [esp + 0x1c]
xor edx, edx
test ecx, ecx
setne dl
mov byte [esp + 0xce0], 0xb
test edx, edx
je 0x443774
mov eax, dword [eax]
push ecx
push eax
call fcn.00495a5d
add esp, 8
test eax, eax
mov eax, dword [esp + 0x4c]
sete bl
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443a54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x443a81
lea ecx, [esp + 0x1c]
mov byte [esp + 0xce0], 9
call fcn.00401480
mov eax, dword [ebp + 0x308]
inc edi
add esi, 0x68
cmp edi, dword [eax + 0x44c]
jb 0x4439c0
jmp 0x443ae1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx - 0xc]
mov edx, dword [esp + 0x1c]
sub eax, dword [edx - 0xc]
lea ecx, [esp + 0x28]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.004019b0
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xce4], 0xc
call fcn.00401bf0
lea ecx, [esp + 0x4c]
mov byte [esp + 0xce0], 0xa
call fcn.00401480
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x34]
call fcn.00401bf0
lea ecx, [esp + 0x30]
call fcn.00411ce0
lea ecx, [esp + 0x1c]
call fcn.00401480
xor ebx, ebx
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 6
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x443b0b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443b33
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443b5b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x30]
cmp dword [ecx - 0xc], ebx
jne 0x443d53
push 0x4ef7cc
lea ecx, [esp + 0x54]
call fcn.00402560
mov eax, dword [ebp + 0x308]
xor esi, esi
mov byte [esp + 0xce0], 0xd
cmp dword [eax + 0x44c], ebx
jbe 0x443be5
xor edi, edi
mov edx, dword [eax + 0x450]
lea edx, [edx + edi + 4]
cmp edx, ebx
jne 0x443ba2
xor eax, eax
jmp 0x443bb8
mov eax, edx
lea ebx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x443ba7
sub eax, ebx
sar eax, 1
xor ebx, ebx
push eax
push edx
lea ecx, [esp + 0x58]
call fcn.00401ab0
push 1
push 0x4c5e40
lea ecx, [esp + 0x58]
call fcn.00401ab0
mov eax, dword [ebp + 0x308]
inc esi
add edi, 0x68
cmp esi, dword [eax + 0x44c]
jb 0x443b90
call fcn.0046c2c1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x443bff
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x50]
push ecx
lea edx, [esp + 0x1c]
push str.There_are_no_download_files_matching_with_chip_name_prefix:_n_s.
push edx
mov byte [esp + 0xcec], 0xe
call fcn.00401cb0
mov edi, dword [esp + 0x24]
add esp, 0xc
push ebx
push ebx
push edi
call fcn.0046cf28
cmp dword [0x50b8cc], ebx
je 0x443c86
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov ecx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push ebx
push 2
push 0x111
push ecx
call esi
call fcn.004798d0
cmp eax, ebx
je 0x443c7a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x443c7c
xor eax, eax
mov ecx, dword [eax + 0x20]
push ebx
push ebx
push 0x10
push ecx
call esi
lea eax, [edi - 0x10]
mov byte [esp + 0xce0], 0xd
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x443caa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 4
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443cd2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443cfa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 2
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x443d22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x44]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4458c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4458c7
push 0x4ef7cc
lea ecx, [esp + 0x38]
call fcn.00402560
push 0x4ef7cc
lea ecx, [esp + 0x30]
mov byte [esp + 0xce4], 0xf
call fcn.00402560
xor edi, edi
cmp dword [esp + 0x68], ebx
mov byte [esp + 0xce0], 0x10
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], ebx
jle 0x4440e3
mov dword [esp + 0x4c], edi
jmp 0x443da0
mov ecx, dword [ebp + 0x308]
mov edx, dword [ecx + 0x208]
add edx, dword [esp + 0x4c]
lea ecx, [esp + 0x20]
push edx
call fcn.00402560
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
push eax
mov byte [esp + 0xce4], 0x11
call fcn.00401560
add eax, 0x10
add esp, 4
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
mov byte [esp + 0xce0], 0x12
call fcn.00411ce0
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
mov ebx, dword [esp + 0x18]
jl 0x443e1f
push str.FLASH
push eax
call fcn.00495b82
add esp, 8
test eax, eax
je 0x443e1f
sub eax, dword [esp + 0x20]
sar eax, 1
jne 0x443e1f
mov dword [esp + 0xbc], 1
jmp 0x443e6f
cmp dword [ebx - 0xc], 0
jl 0x443e47
push 0x4c082c
push ebx
call fcn.00495b82
add esp, 8
test eax, eax
je 0x443e47
sub eax, ebx
sar eax, 1
jne 0x443e47
mov dword [esp + 0x38], 1
jmp 0x443e6f
mov eax, dword [esp + 0x20]
push str.UDISK_IMG
push eax
call fcn.00495a5d
add esp, 8
test eax, eax
je 0x443e6f
mov ecx, dword [esp + 0x20]
push str.DSPCode
push ecx
call fcn.00495a5d
add esp, 8
push edi
lea ecx, [ebp + 0x140]
call fcn.0046ec7a
push edi
lea ecx, [ebp + 0x140]
mov esi, eax
call fcn.0046f5b5
test eax, eax
je 0x444078
test si, si
je 0x444043
push 1
push edi
lea edx, [esp + 0x30]
lea esi, [ebp + 0x140]
push edx
mov ecx, esi
call fcn.0046f422
mov eax, dword [esp + 0x28]
push eax
mov ecx, ebp
mov byte [esp + 0xce4], 0x13
call fcn.0043c200
test eax, eax
jne 0x443f07
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.00401ab0
push 0x4c3380
lea ecx, [esp + 0x38]
call fcn.00402520
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x3c]
call fcn.00401ab0
push 0x4c5e40
lea ecx, [esp + 0x38]
call fcn.00402520
cmp dword [esp + 0x54], 0
je 0x443f61
cmp edi, dword [esp + 0x74]
jl 0x443f61
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x30]
push ecx
push edx
mov ecx, ebp
call fcn.00434760
test eax, eax
jne 0x443f61
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x30]
call fcn.00402500
push 0x4c3380
lea ecx, [esp + 0x30]
call fcn.00402520
lea ecx, [esp + 0x28]
push ecx
lea ecx, [esp + 0x30]
call fcn.00402500
push 0x4c5e40
lea ecx, [esp + 0x30]
call fcn.00402520
cmp dword [ebx - 0xc], 0
jl 0x443f8c
push 0x4c082c
push ebx
call fcn.00495b82
add esp, 8
test eax, eax
je 0x443f8c
sub eax, ebx
sar eax, 1
jne 0x443f8c
mov dword [esp + 0x50], 1
jmp 0x444015
mov edx, dword [esp + 0x20]
push str.UDISK_IMG
push edx
call fcn.00495a5d
add esp, 8
test eax, eax
jne 0x443fd1
push 1
push edi
lea eax, [esp + 0x24]
push eax
mov ecx, esi
mov dword [esp + 0x6c], 1
call fcn.0046f422
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xce4], 0x14
call fcn.00401bf0
lea ecx, [esp + 0x1c]
jmp 0x444010
push str.DSPCode
lea ecx, [esp + 0x24]
call fcn.00409200
test eax, eax
jne 0x444015
push 1
push edi
lea ecx, [esp + 0x60]
push ecx
mov ecx, esi
mov dword [esp + 0x68], 1
call fcn.0046f422
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0xce4], 0x15
call fcn.00401bf0
lea ecx, [esp + 0x58]
call fcn.00401480
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0x12
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x444072
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [esp + 0x24]
jmp 0x444084
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jl 0x444072
push str.FLASH
push eax
call fcn.00495b82
add esp, 8
test eax, eax
je 0x444072
sub eax, dword [esp + 0x20]
sar eax, 1
jne 0x444072
mov dword [esp + 0xc0], 1
inc dword [esp + 0x24]
jmp 0x444084
test esi, 0x30000
je 0x444084
inc dword [esp + 0x48]
lea eax, [ebx - 0x10]
mov byte [esp + 0xce0], 0x11
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4440a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4440d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add dword [esp + 0x4c], 0xbf4
inc edi
cmp edi, dword [esp + 0x68]
jl 0x443da0
mov ecx, dword [esp + 0x34]
xor ebx, ebx
cmp dword [ecx - 0xc], ebx
je 0x4441eb
call fcn.0046c2c1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x44410c
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x1c]
push 0xef29
push edx
mov byte [esp + 0xcec], 0x16
call fcn.00418c00
mov edi, dword [esp + 0x24]
add esp, 0xc
push ebx
push ebx
push edi
call fcn.0046cf28
cmp dword [0x50b8cc], ebx
je 0x444196
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov ecx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push ecx
call esi
call fcn.004798d0
test eax, eax
je 0x444188
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x44418a
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
lea eax, [edi - 0x10]
or ecx, 0xffffffff
lea edx, [eax + 0xc]
mov byte [esp + 0xce0], 0x10
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4441ba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 0xf
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4441e2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
jmp 0x443cae
mov esi, dword [esp + 0x54]
cmp esi, ebx
je 0x444270
mov ecx, dword [esp + 0x2c]
cmp dword [ecx - 0xc], ebx
je 0x444270
lea ecx, [esp + 0x18]
call fcn.00401600
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
push edx
push eax
lea ecx, [esp + 0x20]
push str.Following_files_not_match_the_chip_prefix___s_:_n_s
push ecx
mov byte [esp + 0xcf0], 0x17
call fcn.00401cb0
mov edi, dword [esp + 0x28]
add esp, 0x10
push ebx
push ebx
push edi
call fcn.0046cf28
cmp dword [0x50b8cc], ebx
je 0x444196
mov edx, dword [ebp + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov eax, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push eax
call esi
call fcn.0040ce20
jmp 0x44418a
lea ecx, [esp + 0xc4]
call fcn.0046e650
mov byte [esp + 0xce0], 0x18
mov dword [esp + 0x4c], ebx
call fcn.0046c2c1
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4442a2
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x58], eax
mov byte [esp + 0xce0], 0x19
cmp esi, ebx
je 0x4443b9
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0xc8]
push edx
mov ecx, ebp
call fcn.0043a2d0
mov edi, dword [esp + 0x58]
mov dword [esp + 0x4c], eax
cmp dword [edi - 0xc], ebx
je 0x4443b9
lea ecx, [esp + 0x18]
call fcn.00401600
push edi
lea eax, [esp + 0x1c]
push str.Follow_files_not_found:_n_s
push eax
mov byte [esp + 0xcec], 0x1a
call fcn.00401cb0
mov ebx, dword [esp + 0x24]
add esp, 0xc
push 0
push 0
push ebx
call fcn.0046cf28
cmp dword [0x50b8cc], 0
je 0x444358
mov ecx, dword [ebp + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push edx
call esi
call fcn.0040ce20
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x10
push eax
call esi
lea eax, [ebx - 0x10]
mov byte [esp + 0xce0], 0x19
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44437c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0xce0], 0x18
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4443a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xc4]
mov byte [esp + 0xce0], 0x10
call fcn.0046e87c
jmp 0x4441ba
lea ecx, [esp + 0x94]
call fcn.0046e650
mov ecx, dword [esp + 0x70]
mov byte [esp + 0xce0], 0x1b
call fcn.00456410
test eax, eax
je 0x44447c
lea ecx, [esp + 0x94]
push ecx
mov ecx, ebp
call fcn.00440990
cmp eax, 0xffffffff
jne 0x44447c
cmp dword [0x50b8cc], ebx
je 0x44442b
mov ecx, ebp
call fcn.00407530
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push edx
call esi
call fcn.0040ce20
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x10
push eax
call esi
lea ecx, [esp + 0x94]
mov byte [esp + 0xce0], 0x19
call fcn.0046e87c
lea ecx, [esp + 0x58]
call fcn.00401480
lea ecx, [esp + 0xc4]
mov byte [esp + 0xce0], 0x10
call fcn.0046e87c
lea ecx, [esp + 0x2c]
call fcn.00401480
lea ecx, [esp + 0x34]
call fcn.00401480
lea ecx, [esp + 0x30]
call fcn.00401480
jmp 0x443826
mov edi, 1
push str.There_are_warnings:_n
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], edi
call fcn.00402560
lea ecx, [esp + 0xa8]
mov byte [esp + 0xce0], 0x1c
call fcn.0046e650
mov eax, dword [ebp + 0x308]
mov byte [esp + 0xce0], 0x1d
cmp dword [eax + 0x470], ebx
je 0x444583
cmp dword [eax + 0x474], ebx
je 0x444583
lea ecx, [esp + 0x28]
call fcn.00401600
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0xac]
push edx
mov ecx, ebp
mov byte [esp + 0xce8], 0x1e
call fcn.004412f0
cmp eax, 0xffffffff
jne 0x444557
cmp dword [0x50b8cc], ebx
je 0x44452c
mov ecx, ebp
call fcn.00407530
mov eax, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push eax
call esi
call fcn.0040ce20
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
lea ecx, [esp + 0x28]
call fcn.00401480
lea ecx, [esp + 0xa8]
mov byte [esp + 0xce0], 0x1c
call fcn.0046e87c
lea ecx, [esp + 0x3c]
call fcn.00401480
jmp 0x44442b
mov edx, dword [esp + 0x28]
cmp dword [edx - 0xc], ebx
je 0x444572
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], ebx
call fcn.00402500
lea ecx, [esp + 0x28]
mov byte [esp + 0xce0], 0x1d
call fcn.00401480
mov ecx, dword [esp + 0x68]
sub ecx, dword [esp + 0x24]
cmp dword [esp + 0x48], ecx
je 0x444593
xor edi, edi
mov edx, dword [ebp + 0x308]
mov eax, dword [edx + 0x210]
mov ecx, dword [ebp + 0xc84]
mov dword [esp + 0x70], eax
call fcn.0044cbf0
xor esi, esi
xor ebx, ebx
cmp eax, esi
je 0x4445bb
cmp eax, 3
jne 0x4445c0
mov ebx, 1
cmp dword [esp + 0xbc], esi
je 0x4445e4
cmp dword [esp + 0xc0], esi
jne 0x4445e4
push str.Not_selected_FLASH_to_earase_flash__n
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], esi
call fcn.00402520
cmp dword [esp + 0x38], esi
je 0x444602
cmp dword [esp + 0x50], esi
jne 0x444602
push str.Not_selected_NV_file__n
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], esi
call fcn.00402520
mov ecx, dword [ebp + 0xc78]
add ecx, 0x138
call fcn.00447dc0
mov ecx, dword [ebp + 0xc78]
mov esi, dword [ecx + 0x1f0]
test edi, edi
jne 0x444635
push str.Not_selected_all_files__n
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], edi
call fcn.00402520
cmp dword [esp + 0x70], 0
je 0x444694
test ebx, ebx
je 0x444694
test edi, edi
jne 0x444656
push str.Selected_repartition_but_not_select_all_files_to_download__n
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], edi
call fcn.00402520
test esi, esi
jne 0x444676
cmp dword [esp + 0x50], esi
je 0x444672
push str.Selected_repartition_but_not_any_NV_item_to_backup__n
lea ecx, [esp + 0x40]
mov dword [esp + 0x20], esi
call fcn.00402520
test esi, esi
je 0x444694
cmp dword [esp + 0x50], 0
jne 0x444694
cmp dword [esp + 0x38], 0
je 0x444694
push str.Selected_backup_nv_items_but_not_input_the_NV_file__n
lea ecx, [esp + 0x40]
call fcn.00402520
jmp 0x44469b
cmp dword [esp + 0x1c], 0
jne 0x444704
cmp dword [0x50b8cc], 0
jne 0x444704
push str._nIf_continue_
lea ecx, [esp + 0x40]
call fcn.00402520
mov edx, dword [esp + 0x3c]
push 0
push 0x34
push edx
call fcn.0046cf28
cmp eax, 7
jne 0x444704
cmp dword [0x50b8cc], 0
je 0x444535
mov ecx, ebp
call fcn.00407530
mov eax, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push eax
call esi
call fcn.0040ce20
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
jmp 0x444535
mov eax, dword [ebp + 0x304]
sub eax, 0x10
push eax
call fcn.00401560
lea esi, [eax + 0x10]
mov dword [esp + 0x4c], esi
mov eax, dword [ebp + 0x304]
sub eax, 0x10
push eax
mov byte [esp + 0xce8], 0x1f
call fcn.00401560
add eax, 0x10
mov dword [esp + 0x28], eax
mov eax, dword [0x50b8e8]
add eax, 0xfffffff0
push eax
mov byte [esp + 0xcec], 0x20
call fcn.00401560
add eax, 0x10
mov dword [esp + 0x28], eax
mov eax, dword [0x50b8f0]
add eax, 0xfffffff0
push eax
mov byte [esp + 0xcf0], 0x21
call fcn.00401560
add eax, 0x10
add esp, 0x10
mov dword [esp + 0x54], eax
cmp dword [0x50b8d0], 0
mov byte [esp + 0xce0], 0x22
je 0x444796
lea edx, [ebp + 0x2f4]
push edx
lea ecx, [esp + 0x58]
call fcn.00401bf0
mov eax, dword [esi - 0xc]
mov dword [esp + 0x28], 0
test eax, eax
jl 0x4447ca
push str.PAC_
push esi
call fcn.00495b82
add esp, 8
test eax, eax
je 0x4447ca
sub eax, esi
sar eax, 1
jne 0x4447ca
push 4
push 0
lea ecx, [esp + 0x50]
call fcn.00409bd0
cmp dword [0x50b8cc], 0
jne 0x4448fc
push 0
lea ecx, [esp + 0x104]
call fcn.00409470
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x27c]
mov byte [esp + 0xce4], 0x23
call fcn.00401bf0
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x280]
call fcn.00401bf0
lea ecx, [esp + 0x100]
call fcn.00464e69
cmp eax, 2
jne 0x444858
lea ecx, [esp + 0x100]
mov byte [esp + 0xce0], 0x22
call fcn.00409620
lea ecx, [esp + 0x54]
call fcn.00401480
lea ecx, [esp + 0x1c]
call fcn.00401480
lea ecx, [esp + 0x20]
call fcn.00401480
lea ecx, [esp + 0x48]
jmp 0x444530
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push 1
push 0
push 0
push 0
lea edx, [esp + 0x88]
push edx
call esi
test eax, eax
je 0x4448a4
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [esp + 0x78]
push eax
call edi
lea ecx, [esp + 0x78]
push ecx
call ebx
push 1
push 0
push 0
push 0
lea edx, [esp + 0x88]
push edx
call esi
test eax, eax
jne 0x444880
lea eax, [esp + 0x278]
push eax
lea ecx, [esp + 0x4c]
call fcn.00401bf0
lea ecx, [esp + 0x27c]
push ecx
lea ecx, [esp + 0x24]
call fcn.00401bf0
lea edx, [esp + 0x270]
push edx
lea ecx, [esp + 0x20]
call fcn.00401bf0
lea eax, [esp + 0x274]
push eax
lea ecx, [esp + 0x58]
call fcn.00401bf0
lea ecx, [esp + 0x100]
mov byte [esp + 0xce0], 0x22
call fcn.00409620
mov ebx, dword [esp + 0x68]
lea ecx, [esp + 0xec]
mov edi, ebx
call fcn.0046e650
xor esi, esi
mov byte [esp + 0xce0], 0x24
mov dword [esp + 0x74], esi
cmp dword [esp + 0x60], esi
je 0x44493d
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0xec]
push ecx
push edx
mov ecx, ebp
call fcn.0043c7b0
mov dword [esp + 0x74], eax
lea edi, [eax + ebx]
lea ecx, [esp + 0xd8]
call fcn.0046e650
mov byte [esp + 0xce0], 0x25
mov dword [esp + 0x18], esi
cmp dword [esp + 0x5c], esi
je 0x4449e0
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0xd8]
push eax
push ecx
mov ecx, ebp
call fcn.00439cb0
mov dword [esp + 0x18], eax
cmp eax, 0xffffffff
jne 0x4449de
cmp dword [0x50b8cc], esi
je 0x4449b1
mov ecx, ebp
call fcn.00407530
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push edx
call esi
call fcn.0040ce20
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x10
push eax
call esi
lea ecx, [esp + 0xd8]
mov byte [esp + 0xce0], 0x24
call fcn.0046e87c
lea ecx, [esp + 0xec]
mov byte [esp + 0xce0], 0x22
call fcn.0046e87c
jmp 0x444834
add edi, eax
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xb0]
add edx, ecx
add edx, dword [esp + 0x4c]
xor ecx, ecx
add edi, edx
mov eax, edi
mov edx, 0xa14
mul edx
seto cl
mov dword [esp + 0x70], edi
mov dword [esp + 0x38], 0
neg ecx
or ecx, eax
push ecx
call fcn.00464376
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
mov byte [esp + 0xce0], 0x26
test esi, esi
je 0x444a46
push 0x432890
push edi
push 0xa14
push esi
call fcn.00401090
mov dword [esp + 0x24], esi
jmp 0x444a4e
mov dword [esp + 0x24], 0
mov byte [esp + 0xce0], 0x25
mov dword [esp + 0x50], 0
test ebx, ebx
jle 0x444c55
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x68]
xor edi, edi
add esi, 4
mov dword [esp + 0x38], eax
jmp 0x444a80
mov ecx, dword [esp + 0x50]
push ecx
lea ebx, [ebp + 0x140]
mov ecx, ebx
call fcn.0046f5b5
mov edx, dword [esp + 0x50]
push 1
mov dword [esi + 0x608], eax
push edx
lea eax, [esp + 0x68]
push eax
mov ecx, ebx
call fcn.0046f422
mov ecx, dword [ebp + 0x308]
mov edx, dword [ecx + 0x208]
add edx, edi
push edx
lea ecx, [esp + 0x60]
mov byte [esp + 0xce4], 0x27
call fcn.00402560
mov eax, dword [esp + 0x5c]
mov ecx, esi
mov byte [esp + 0xce0], 0x28
sub ecx, eax
jmp 0x444ae0
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x444ae0
cmp dword [esi + 0x608], 0
je 0x444b64
mov eax, dword [esp + 0x60]
lea ebx, [esi + 0x200]
mov edx, ebx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x444b06
push ebx
mov ecx, ebp
call fcn.0043b330
test eax, eax
je 0x444b64
push ebx
lea eax, [esp + 0x7c]
push eax
mov ecx, ebp
call fcn.00434f20
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x5fc], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esi + 0x60c], edx
mov dword [esi + 0x5f8], eax
mov dword [esi + 0x600], ecx
mov edx, dword [esp + 0x50]
push edx
lea ecx, [ebp + 0x140]
call fcn.0046ec7a
movzx ecx, ax
mov dword [esi + 0x604], ecx
test eax, 0x30000
je 0x444b8e
mov dword [esi + 0x610], 1
mov edx, dword [ebp + 0x308]
mov eax, dword [edx + 0x208]
mov ecx, dword [eax + edi + 0x5cc]
xor eax, eax
mov dword [esi + 0x614], ecx
test ecx, ecx
jbe 0x444be6
xor edx, edx
lea ecx, [esi + 0x618]
jmp 0x444bc0
mov ebx, dword [ebp + 0x308]
mov ebx, dword [ebx + 0x208]
add ebx, edi
mov ebx, dword [ebx + edx + 0x414]
mov dword [ecx], ebx
inc eax
add ecx, 4
add edx, 0x58
cmp eax, dword [esi + 0x614]
jb 0x444bc0
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0x27
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x444c0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0x25
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x444c36
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x50]
inc eax
add esi, 0xa14
add edi, 0xbf4
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x50], eax
jl 0x444a80
xor edi, edi
cmp dword [esp + 0x4c], edi
jle 0x444d1f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
imul ecx, ecx, 0xa14
lea esi, [ecx + edx + 0x204]
mov eax, 1
mov dword [esi + 0x408], eax
test edi, edi
jl 0x44507a
cmp edi, dword [esp + 0xcc]
jge 0x44507a
mov eax, dword [esp + 0xc8]
mov ecx, dword [eax + edi*4]
mov edx, esi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x444ca2
mov ebx, esi
push ebx
mov ecx, ebp
call fcn.0043b330
test eax, eax
je 0x444d04
push ebx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebp
call fcn.00434f20
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov dword [esi + 0x3fc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esi + 0x40c], eax
mov dword [esi + 0x3f8], ecx
mov dword [esi + 0x400], edx
mov eax, 1
add dword [esp + 0x38], eax
add edi, eax
add esi, 0xa14
cmp edi, dword [esp + 0x4c]
jl 0x444c7b
xor edi, edi
cmp dword [esp + 0x74], edi
jle 0x444ded
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
imul eax, eax, 0xa14
lea esi, [eax + ecx + 0x204]
mov eax, 1
mov dword [esi + 0x408], eax
test edi, edi
jl 0x44507a
cmp edi, dword [esp + 0xf4]
jge 0x44507a
mov edx, dword [esp + 0xf0]
mov ecx, dword [edx + edi*4]
mov edx, esi
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x444d70
mov ebx, esi
push ebx
mov ecx, ebp
call fcn.0043b330
test eax, eax
je 0x444dd2
push ebx
lea eax, [esp + 0x7c]
push eax
mov ecx, ebp
call fcn.00434f20
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x3fc], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esi + 0x40c], edx
mov dword [esi + 0x3f8], eax
mov dword [esi + 0x400], ecx
mov eax, 1
add dword [esp + 0x38], eax
add edi, eax
add esi, 0xa14
cmp edi, dword [esp + 0x74]
jl 0x444d45
xor edi, edi
cmp dword [esp + 0x18], edi
jle 0x444ebd
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
imul edx, edx, 0xa14
lea esi, [edx + eax + 0x204]
mov eax, 1
mov dword [esi + 0x408], eax
test edi, edi
jl 0x44507a
cmp edi, dword [esp + 0xe0]
jge 0x44507a
mov ecx, dword [esp + 0xdc]
mov ecx, dword [ecx + edi*4]
mov edx, esi
lea ebx, [ebx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x444e40
mov ebx, esi
push ebx
mov ecx, ebp
call fcn.0043b330
test eax, eax
je 0x444ea2
push ebx
lea edx, [esp + 0x7c]
push edx
mov ecx, ebp
call fcn.00434f20
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [esi + 0x3fc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esi + 0x40c], ecx
mov dword [esi + 0x3f8], edx
mov dword [esi + 0x400], eax
mov eax, 1
add dword [esp + 0x38], eax
add edi, eax
add esi, 0xa14
cmp edi, dword [esp + 0x18]
jl 0x444e13
xor edi, edi
cmp dword [esp + 0x9c], edi
jle 0x444f90
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
imul ecx, ecx, 0xa14
lea esi, [ecx + edx + 0x204]
mov eax, 1
mov dword [esi + 0x408], eax
test edi, edi
jl 0x44507a
cmp edi, dword [esp + 0x9c]
jge 0x44507a
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + edi*4]
mov edx, esi
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x444f10
mov ebx, esi
push ebx
mov ecx, ebp
call fcn.0043b330
test eax, eax
je 0x444f72
push ebx
lea ecx, [esp + 0x7c]
push ecx
mov ecx, ebp
call fcn.00434f20
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov dword [esi + 0x3fc], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esi + 0x40c], eax
mov dword [esi + 0x3f8], ecx
mov dword [esi + 0x400], edx
mov eax, 1
add dword [esp + 0x38], eax
add edi, eax
add esi, 0xa14
cmp edi, dword [esp + 0x9c]
jl 0x444ee6
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x445056
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
imul esi, esi, 0xa14
lea esi, [esi + eax + 0x204]
mov dword [esi + 0x408], 1
test ebx, ebx
jl 0x44507a
cmp ebx, dword [esp + 0xb0]
jge 0x44507a
mov ecx, dword [esp + 0xac]
mov ecx, dword [ecx + ebx*4]
mov edx, esi
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x444fe0
mov edi, esi
push edi
mov ecx, ebp
call fcn.0043b330
test eax, eax
je 0x445042
push edi
lea edx, [esp + 0x7c]
push edx
mov ecx, ebp
call fcn.00434f20
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
mov dword [esi + 0x3fc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x28], 1
mov dword [esi + 0x40c], ecx
mov dword [esi + 0x3f8], edx
mov dword [esi + 0x400], eax
inc ebx
add esi, 0xa14
cmp ebx, dword [esp + 0xb0]
jl 0x444fb4
cmp dword [esp + 0x28], 0
je 0x445299
mov ecx, dword [esp + 0x1c]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
jne 0x44507f
push 0x80004005
call fcn.00401150
call fcn.00464489
mov eax, dword [ebp + 0xc9c]
push ecx
push eax
call fcn.00495a5d
add esp, 8
test eax, eax
jne 0x445299
call fcn.0046c2c1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4450b1
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x5c], eax
mov ecx, dword [ebp + 0xc9c]
push ecx
lea edx, [esp + 0x60]
push str.Dont_allow_to_replace_the_original_pac_file___s_
push edx
mov byte [esp + 0xcec], 0x29
call fcn.00401cb0
mov edi, dword [esp + 0x68]
add esp, 0xc
push 0
push 0
push edi
call fcn.0046cf28
mov eax, dword [esp + 0x24]
test eax, eax
je 0x445101
push eax
call fcn.0046436b
add esp, 4
cmp dword [0x50b8cc], 0
je 0x445151
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov ecx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push ecx
call esi
call fcn.004798d0
test eax, eax
je 0x445143
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x445145
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
lea eax, [edi - 0x10]
mov byte [esp + 0xce0], 0x25
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x445175
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0xce0], 0x24
call fcn.0046e87c
lea ecx, [esp + 0xec]
mov byte [esp + 0xce0], 0x22
call fcn.0046e87c
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 0x21
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4451c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 0x20
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4451ed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 0x1f
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x445215
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 0x1d
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x44523d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0xce0], 0x1c
call fcn.0046e87c
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xce0], 0x1b
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x445279
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x94]
mov byte [esp + 0xce0], 0x19
call fcn.0046e87c
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
jmp 0x44437f
lea ecx, [esp + 0x6c]
push ecx
mov dword [esp + 0x70], 0
call dword [sym.imp.SecBinPack9.dll_CreateSecPacParse]
add esp, 4
test eax, eax
jne 0x445361
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4452c8
push eax
call fcn.0046436b
add esp, 4
cmp dword [0x50b8cc], 0
je 0x445318
mov edx, dword [ebp + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov eax, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push eax
call esi
call fcn.004798d0
test eax, eax
je 0x44530a
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x44530c
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
lea ecx, [esp + 0xd8]
mov byte [esp + 0xce0], 0x24
call fcn.0046e87c
lea ecx, [esp + 0xec]
mov byte [esp + 0xce0], 0x22
call fcn.0046e87c
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0x21
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x4451b9
cmp dword [0x50b8cc], 0
mov edi, dword [esp + 0x1c]
je 0x445375
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push 0
push edi
call eax
test eax, eax
jne 0x44544f
mov eax, dword [esp + 0x24]
test eax, eax
je 0x44539c
push eax
call fcn.0046436b
add esp, 4
cmp dword [0x50b8cc], 0
je 0x4453ec
mov ecx, dword [ebp + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push edx
call esi
call fcn.004798d0
test eax, eax
je 0x4453de
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x4453e0
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov eax, dword [edx + 0x28]
call eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0xce0], 0x24
call fcn.0046e87c
lea ecx, [esp + 0xec]
mov byte [esp + 0xce0], 0x22
call fcn.0046e87c
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0xce0], 0x21
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x445447
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
jmp 0x4451cc
call fcn.0046c2c1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x445469
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0x304]
lea ecx, [esp + 0x5c]
push ecx
push eax
lea ecx, [ebp + 0xca0]
mov byte [esp + 0xce8], 0x2a
call fcn.00413190
push 0x84c
lea edx, [esp + 0x284]
push 0
push edx
call fcn.00494750
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x2c0]
add esp, 0xc
mov dword [esp + 0xac4], 0xfffafffa
sub edx, eax
jmp 0x4454d0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4454d0
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x4b4]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4454f0
cmp dword [0x50b8cc], 0
je 0x44558c
mov esi, dword [esp + 0x20]
cmp dword [esi - 0xc], 0
jl 0x44558c
push str.PAC_
push esi
call fcn.00495b82
add esp, 8
test eax, eax
je 0x44558c
sub eax, esi
sar eax, 1
jne 0x44558c
mov edi, dword [esi - 0xc]
mov ebx, 4
cmp edi, ebx
jge 0x445540
mov ebx, edi
test edi, edi
jle 0x44558c
sub edi, ebx
cmp dword [esi - 4], 1
jle 0x445559
mov eax, dword [esi - 0xc]
push eax
lea ecx, [esp + 0x24]
call fcn.004012f0
mov esi, dword [esp + 0x20]
lea eax, [edi + edi + 2]
push eax
lea ecx, [esi + ebx*2]
push ecx
push eax
push esi
call fcn.00494113
push eax
call fcn.00401000
add esp, 0x14
test edi, edi
jl 0x4456ff
cmp edi, dword [esi - 8]
jg 0x4456ff
xor edx, edx
mov dword [esi - 0xc], edi
mov word [esi + edi*2], dx
lea ecx, [esp + 0x20]
call fcn.00407740
lea ecx, [esp + 0x20]
call fcn.00407830
mov eax, dword [esp + 0x20]
cmp dword [eax - 0xc], 0
je 0x4455c0
lea edx, [esp + 0x6d0]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4455b1
mov eax, dword [esp + 0x70]
mov dword [esp + 0x6b4], eax
mov eax, dword [ebp + 0x308]
mov ecx, dword [eax + 0x210]
mov dword [esp + 0x6c0], ecx
mov edx, dword [eax + 0x214]
mov ecx, dword [ebp + 0xc84]
mov dword [esp + 0x6bc], edx
call fcn.0044cbf0
mov edx, dword [ebp + 0xc78]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x6c4], eax
mov eax, dword [ebp + 0xc84]
mov ecx, dword [eax + 0x124]
mov dword [esp + 0x6cc], ecx
mov eax, dword [edx + 0x1f0]
mov ecx, dword [ebp + 0x308]
mov dword [esp + 0x6c8], eax
mov edx, dword [ecx + 0x440]
mov eax, dword [ebp + 0xc48]
mov ecx, dword [ebp + 0xc50]
mov dword [esp + 0x79c], eax
mov eax, dword [ebp + 0xc9c]
push 0
push eax
mov dword [esp + 0x7a8], ecx
mov ecx, dword [esp + 0x74]
push edi
mov dword [esp + 0x7a4], edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
push ebx
lea eax, [esp + 0x290]
push eax
call edx
mov esi, eax
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0xad6]
push ecx
mov word [esp + 0xad8], ax
call fcn.00494750
add esp, 0xc
test esi, esi
je 0x4456b5
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x34]
push 0x104
lea eax, [esp + 0xad0]
push eax
push esi
call edx
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test edi, edi
je 0x4456cd
push edi
call fcn.0046436b
add esp, 4
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
call edx
cmp dword [0x50b8cc], 0
je 0x4457ed
call fcn.0046c2c1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x445709
push 0x80004005
call fcn.00401150
push 0x80070057
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0xce0], 0x2b
push str._Status_
test esi, esi
je 0x445736
push str._s_fail
lea ecx, [esp + 0x20]
push ecx
jmp 0x445740
push str._s_pass
lea edx, [esp + 0x20]
push edx
call fcn.00401cb0
mov esi, dword [esp + 0x24]
add esp, 0xc
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x6c], esp
push esi
call fcn.00402560
mov ecx, 0x50b7e0
call fcn.0040b590
mov eax, dword [ebp + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov ecx, dword [eax + 0x20]
mov edi, dword [sym.imp.USER32.dll_PostMessageW]
push 0
push 2
push 0x111
push ecx
call edi
call fcn.004798d0
test eax, eax
je 0x44579e
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x4457a0
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call edi
lea eax, [esi - 0x10]
mov byte [esp + 0xce0], 0x2a
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4457d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebx - 0x10]
mov byte [esp + 0xce0], 0x25
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x445169
test esi, esi
je 0x445868
call fcn.0046c2c1
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x44580b
push 0x80004005
call fcn.00401150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x60], eax
lea ecx, [esp + 0xacc]
push ecx
lea edx, [esp + 0x64]
push str.Packeting_failed___s
push edx
mov byte [esp + 0xcec], 0x2c
call fcn.00401cb0
mov esi, dword [esp + 0x6c]
add esp, 0xc
push 0
push 0
push esi
call fcn.0046cf28
lea eax, [esi - 0x10]
mov byte [esp + 0xce0], 0x2a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x4457c4
push 0
push 0
push str.Packeting_complete_
call fcn.0046cf28
jmp 0x4457d0
cmp dword [0x50b8cc], ebx
je 0x4458c7
mov ecx, dword [ebp + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.00467abd
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push ebx
push 2
push 0x111
push edx
call esi
call fcn.004798d0
cmp eax, ebx
je 0x4458bb
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x4458bd
xor eax, eax
mov ecx, dword [eax + 0x20]
push ebx
push ebx
push 0x10
push ecx
call esi
lea ecx, [esp + 0x17]
mov dword [esp + 0xce0], 0xffffffff
call fcn.00418aa0
xor eax, eax
mov ecx, dword [esp + 0xcd8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xcc0]
xor ecx, esp
call fcn.004945a7
add esp, 0xcd0
ret