Function at 0x436220
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4a21eb
mov eax, dword fs:[0]
push eax
sub esp, 0xad4
mov eax, dword [0x4eed38]
xor eax, esp
mov dword [esp + 0xad0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4eed38]
xor eax, esp
push eax
lea eax, [esp + 0xae8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x44], ebx
call fcn.0045b40e
mov ecx, dword [eax + 4]
call fcn.00458dad
xor edi, edi
mov dword [esp + 0xaf0], edi
cmp dword [ebx + 0x2ec], edi
je 0x437ceb
cmp dword [ebx + 0xc28], edi
je 0x437ceb
cmp dword [ebx + 0xc1c], edi
je 0x437ceb
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
mov dword [esp + 0x6c], eax
mov dword [esp + 0x34], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x70], edi
call fcn.00459da6
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x4362dd
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 + 0x48], eax
mov byte [esp + 0xaf0], 1
mov dword [esp + 0x68], edi
call fcn.00459da6
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x436313
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 + 0x3c], eax
mov ecx, dword [ebx + 0x160]
push edi
push edi
push 0x1004
push ecx
mov byte [esp + 0xb00], 2
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
mov dword [esp + 0x60], esi
cmp esi, edi
jne 0x43639e
push edi
push edi
push str.Please_select_files_to_download_
call fcn.0045a9ee
cmp dword [0x4f01f8], edi
je 0x436387
mov ecx, ebx
call fcn.00408c60
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push edi
push 2
push 0x111
push edx
call esi
call fcn.0040dee0
mov eax, dword [eax + 0x20]
push edi
push edi
push 0x10
push eax
call esi
lea ecx, [esp + 0x3c]
call fcn.004014d0
lea ecx, [esp + 0x48]
call fcn.004014d0
jmp 0x437d37
lea ecx, [esp + 0x38]
call fcn.00401650
mov eax, dword [ebx + 0x2ec]
mov ebp, 1
mov byte [esp + 0xaf0], 3
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ebp
cmp dword [eax + 0x210], ebp
jne 0x4363d3
mov ebp, 2
mov dword [esp + 0x54], ebp
cmp dword [eax + 0x448], edi
je 0x4368c8
cmp dword [eax + 0x44c], edi
je 0x4368c8
lea esi, [ebx + 0x140]
mov ecx, esi
mov dword [esp + 0x50], 1
mov edi, ebp
call fcn.0040e230
cmp ebp, eax
jge 0x4366c5
lea ebx, [ebx]
push edi
mov ecx, esi
call fcn.0045f5ba
test eax, eax
je 0x43644e
push 1
push edi
lea ecx, [esp + 0x20]
push ecx
mov ecx, esi
call fcn.0045f421
mov edx, dword [esp + 0x18]
cmp dword [edx - 0xc], 0
mov byte [esp + 0xaf0], 4
lea ecx, [esp + 0x18]
jne 0x43645f
mov byte [esp + 0xaf0], 3
call fcn.004014d0
mov ecx, esi
inc edi
call fcn.0040e230
cmp edi, eax
jl 0x436410
jmp 0x4366c5
push 0x5c
call fcn.00402f70
mov esi, eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x24]
call fcn.00401680
mov byte [esp + 0xaf0], 5
cmp esi, 0xffffffff
je 0x4364f3
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 0xc]
sub eax, esi
dec eax
push eax
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x20]
call fcn.004019e0
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xaf4], 6
call fcn.00401c20
lea ecx, [esp + 0x24]
mov byte [esp + 0xaf0], 5
call fcn.004014d0
push esi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x20]
call fcn.00401a60
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xaf4], 7
call fcn.00401c20
lea ecx, [esp + 0x24]
mov byte [esp + 0xaf0], 5
call fcn.004014d0
jmp 0x4364fc
lea ecx, [esp + 0x18]
call fcn.004014f0
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x28]
call fcn.00401680
mov eax, dword [ebx + 0x2ec]
mov ebp, dword [esp + 0x20]
xor edi, edi
mov byte [esp + 0xaf0], 8
cmp dword [eax + 0x44c], edi
jbe 0x436651
xor esi, esi
mov edx, dword [eax + 0x450]
lea eax, [edx + esi + 4]
push eax
lea ecx, [esp + 0x20]
call fcn.00402530
push 0x4afd28
lea ecx, [esp + 0x20]
mov byte [esp + 0xaf4], 9
call fcn.004024f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx - 0xc]
push eax
lea edx, [esp + 0x34]
push edx
lea ecx, [esp + 0x28]
call fcn.00401a60
mov ecx, dword [esp + 0x1c]
xor edx, edx
test ecx, ecx
setne dl
mov byte [esp + 0xaf0], 0xa
test edx, edx
je 0x4362d3
mov eax, dword [eax]
push ecx
push eax
call fcn.00483f2d
add esp, 8
test eax, eax
mov eax, dword [esp + 0x30]
sete bl
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 9
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4365c0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
jne 0x4365f1
lea ecx, [esp + 0x1c]
mov byte [esp + 0xaf0], 8
call fcn.004014d0
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx + 0x2ec]
inc edi
add esi, 0x68
cmp edi, dword [eax + 0x44c]
jb 0x43652c
jmp 0x436651
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebp - 0xc]
sub eax, dword [ecx - 0xc]
lea edx, [esp + 0x30]
push eax
push edx
lea ecx, [esp + 0x28]
call fcn.004019e0
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0xaf4], 0xb
call fcn.00401c20
lea ecx, [esp + 0x30]
mov byte [esp + 0xaf0], 9
call fcn.004014d0
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
call fcn.00401c20
lea ecx, [esp + 0x38]
call fcn.00417880
lea ecx, [esp + 0x1c]
call fcn.004014d0
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436679
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0xaf0], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43669d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4366c5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebp, dword [esp + 0x38]
cmp dword [ebp - 0xc], 0
jne 0x4368c2
push 0x4a8ca8
lea ecx, [esp + 0x38]
call fcn.00402530
mov eax, dword [ebx + 0x2ec]
xor esi, esi
mov byte [esp + 0xaf0], 0xc
cmp dword [eax + 0x44c], esi
jbe 0x436752
xor edi, edi
mov ecx, dword [eax + 0x450]
lea edx, [ecx + edi + 4]
test edx, edx
jne 0x43670d
xor eax, eax
jmp 0x436725
mov eax, edx
lea ebx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436712
sub eax, ebx
mov ebx, dword [esp + 0x44]
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x3c]
call fcn.00401ae0
push 1
push 0x4aea10
lea ecx, [esp + 0x3c]
call fcn.00401ae0
mov eax, dword [ebx + 0x2ec]
inc esi
add edi, 0x68
cmp esi, dword [eax + 0x44c]
jb 0x4366fb
call fcn.00459da6
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x43676c
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 + 0x24], eax
mov ecx, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x28]
push str.There_are_no_download_files_matching_with_chip_name_prefix:_n_s.
push edx
mov byte [esp + 0xafc], 0xd
call fcn.00401ce0
mov edi, dword [esp + 0x30]
add esp, 0xc
push 0
push 0
push edi
call fcn.0045a9ee
cmp dword [0x4f01f8], 0
je 0x4367f9
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
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.00468552
test eax, eax
je 0x4367eb
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x4367ed
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 + 0xaf0], 0xc
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x43681d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436845
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0xaf0], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436869
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x3c]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xaf0], 1
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436891
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
mov byte [esp + 0xaf0], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437d37
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x437d37
mov esi, dword [esp + 0x60]
xor edi, edi
push 0x4a8ca8
lea ecx, [esp + 0x2c]
call fcn.00402530
push 0x4a8ca8
lea ecx, [esp + 0x30]
mov byte [esp + 0xaf4], 0xe
call fcn.00402530
cmp esi, edi
mov byte [esp + 0xaf0], 0xf
mov dword [esp + 0x1c], edi
mov dword [esp + 0x4c], edi
jle 0x436c59
mov dword [esp + 0x30], 0
lea esp, [esp]
mov ecx, dword [ebx + 0x2ec]
mov edx, dword [ecx + 0x208]
add edx, dword [esp + 0x30]
lea ecx, [esp + 0x18]
push edx
call fcn.00402530
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
push eax
mov byte [esp + 0xaf4], 0x10
call fcn.004015b0
add eax, 0x10
add esp, 4
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x24]
mov byte [esp + 0xaf0], 0x11
call fcn.00417880
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
mov ebp, dword [esp + 0x24]
jl 0x43698c
push str.FLASH
push eax
call fcn.00482831
add esp, 8
test eax, eax
je 0x43698c
sub eax, dword [esp + 0x18]
sar eax, 1
jne 0x43698c
mov dword [esp + 0x64], 1
jmp 0x4369dc
cmp dword [ebp - 0xc], 0
jl 0x4369b4
push 0x4a9d74
push ebp
call fcn.00482831
add esp, 8
test eax, eax
je 0x4369b4
sub eax, ebp
sar eax, 1
jne 0x4369b4
mov dword [esp + 0x5c], 1
jmp 0x4369dc
mov eax, dword [esp + 0x18]
push str.UDISK_IMG
push eax
call fcn.00483f2d
add esp, 8
test eax, eax
je 0x4369dc
mov ecx, dword [esp + 0x18]
push str.DSPCode
push ecx
call fcn.00483f2d
add esp, 8
push edi
lea ecx, [ebx + 0x140]
call fcn.0045ec92
push edi
lea ecx, [ebx + 0x140]
mov esi, eax
call fcn.0045f5ba
test eax, eax
je 0x436bee
test si, si
je 0x436bbc
push 1
push edi
lea edx, [esp + 0x28]
lea esi, [ebx + 0x140]
push edx
mov ecx, esi
call fcn.0045f421
mov eax, dword [esp + 0x20]
push eax
mov ecx, ebx
mov byte [esp + 0xaf4], 0x12
call fcn.0042c370
test eax, eax
jne 0x436a74
mov eax, dword [esp + 0x18]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.00401ae0
push 0x4ac530
lea ecx, [esp + 0x2c]
call fcn.004024f0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x30]
call fcn.00401ae0
push 0x4aea10
lea ecx, [esp + 0x2c]
call fcn.004024f0
cmp dword [esp + 0x50], 0
je 0x436ace
cmp edi, dword [esp + 0x54]
jl 0x436ace
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x38]
push ecx
push edx
mov ecx, ebx
call fcn.0042cc80
test eax, eax
jne 0x436ace
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x30]
call fcn.004024d0
push 0x4ac530
lea ecx, [esp + 0x30]
call fcn.004024f0
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x30]
call fcn.004024d0
push 0x4aea10
lea ecx, [esp + 0x30]
call fcn.004024f0
cmp dword [ebp - 0xc], 0
jl 0x436af9
push 0x4a9d74
push ebp
call fcn.00482831
add esp, 8
test eax, eax
je 0x436af9
sub eax, ebp
sar eax, 1
jne 0x436af9
mov dword [esp + 0x34], 1
jmp 0x436b8e
mov edx, dword [esp + 0x18]
push str.UDISK_IMG
push edx
call fcn.00483f2d
add esp, 8
test eax, eax
jne 0x436b44
push 1
push edi
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
mov dword [esp + 0x7c], 1
call fcn.0045f421
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0xaf4], 0x13
call fcn.00401c20
lea ecx, [esp + 0xa0]
jmp 0x436b89
push str.DSPCode
lea ecx, [esp + 0x1c]
call fcn.0040a900
test eax, eax
jne 0x436b8e
push 1
push edi
lea ecx, [esp + 0xac]
push ecx
mov ecx, esi
mov dword [esp + 0x74], 1
call fcn.0045f421
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0xaf4], 0x14
call fcn.00401c20
lea ecx, [esp + 0xa4]
call fcn.004014d0
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x11
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436be8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [esp + 0x1c]
jmp 0x436bfa
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
jl 0x436be8
push str.FLASH
push eax
call fcn.00482831
add esp, 8
test eax, eax
je 0x436be8
sub eax, dword [esp + 0x18]
sar eax, 1
jne 0x436be8
mov dword [esp + 0x58], 1
inc dword [esp + 0x1c]
jmp 0x436bfa
test esi, 0x30000
je 0x436bfa
inc dword [esp + 0x4c]
lea eax, [ebp - 0x10]
mov byte [esp + 0xaf0], 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436c1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0xf
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436c46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add dword [esp + 0x30], 0xbcc
inc edi
cmp edi, dword [esp + 0x60]
jl 0x436910
mov ecx, dword [esp + 0x28]
cmp dword [ecx - 0xc], 0
je 0x436d8e
call fcn.00459da6
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436c81
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 + 0x54], eax
mov ecx, dword [esp + 0x28]
push ecx
lea edx, [esp + 0x58]
push 0xef29
push edx
mov byte [esp + 0xafc], 0x15
call fcn.004188a0
mov edi, dword [esp + 0x60]
add esp, 0xc
push 0
push 0
push edi
call fcn.0045a9ee
cmp dword [0x4f01f8], 0
je 0x436d0e
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
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.00468552
test eax, eax
je 0x436d00
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x436d02
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 + 0xaf0], 0xf
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436d32
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 + 0xaf0], 0xe
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436d5a
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
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xaf0], 3
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436d82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x38]
add eax, 0xfffffff0
jmp 0x436848
mov esi, dword [esp + 0x50]
test esi, esi
je 0x436e1b
mov ecx, dword [esp + 0x2c]
cmp dword [ecx - 0xc], 0
je 0x436e1b
lea ecx, [esp + 0x54]
call fcn.00401650
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
push edx
push eax
lea ecx, [esp + 0x5c]
push str.Following_files_not_match_the_chip_prefix___s_:_n_s
push ecx
mov byte [esp + 0xb00], 0x16
call fcn.00401ce0
mov edi, dword [esp + 0x64]
add esp, 0x10
push 0
push 0
push edi
call fcn.0045a9ee
cmp dword [0x4f01f8], 0
je 0x436d0e
mov edx, dword [ebx + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
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.0040dee0
jmp 0x436d02
lea ecx, [esp + 0x8c]
call fcn.0045e668
mov byte [esp + 0xaf0], 0x17
mov dword [esp + 0x24], 0
call fcn.00459da6
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x436e51
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 + 0x50], eax
mov byte [esp + 0xaf0], 0x18
test esi, esi
je 0x436f6d
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x90]
push edx
mov ecx, ebx
call fcn.00430b80
mov edi, dword [esp + 0x50]
cmp dword [edi - 0xc], 0
mov dword [esp + 0x24], eax
je 0x436f6d
lea ecx, [esp + 0x54]
call fcn.00401650
push edi
lea eax, [esp + 0x58]
push str.Follow_files_not_found:_n_s
push eax
mov byte [esp + 0xafc], 0x19
call fcn.00401ce0
mov ebx, dword [esp + 0x60]
add esp, 0xc
push 0
push 0
push ebx
call fcn.0045a9ee
cmp dword [0x4f01f8], 0
je 0x436f0c
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x20]
push edx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
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.0040dee0
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
lea eax, [ebx - 0x10]
mov byte [esp + 0xaf0], 0x18
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x436f30
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
or edx, 0xffffffff
lea ecx, [eax + 0xc]
mov byte [esp + 0xaf0], 0x17
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x436f54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0xaf0], 0xf
call fcn.0045e894
jmp 0x436d32
lea ecx, [esp + 0x78]
call fcn.0045e668
mov ecx, dword [esp + 0x6c]
mov byte [esp + 0xaf0], 0x1a
call fcn.00444f80
test eax, eax
je 0x437028
lea ecx, [esp + 0x78]
push ecx
mov ecx, ebx
call fcn.00435800
cmp eax, 0xffffffff
jne 0x437028
cmp dword [0x4f01f8], 0
je 0x436fda
mov ecx, ebx
call fcn.00408c60
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.0040dee0
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x10
push eax
call esi
lea ecx, [esp + 0x78]
mov byte [esp + 0xaf0], 0x18
call fcn.0045e894
lea ecx, [esp + 0x50]
call fcn.004014d0
lea ecx, [esp + 0x8c]
mov byte [esp + 0xaf0], 0xf
call fcn.0045e894
lea ecx, [esp + 0x2c]
call fcn.004014d0
lea ecx, [esp + 0x28]
call fcn.004014d0
lea ecx, [esp + 0x38]
call fcn.004014d0
jmp 0x436387
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x1c]
mov ebx, 1
cmp dword [esp + 0x4c], ecx
je 0x43703d
xor ebx, ebx
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0x2ec]
mov ecx, dword [edx + 0x210]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0xc28]
call fcn.0043dad0
xor ebp, ebp
test eax, eax
je 0x437067
cmp eax, 3
jne 0x43706c
mov ebp, 1
push str.There_are_warnings:_n
lea ecx, [esp + 0x44]
mov esi, 1
call fcn.00402530
cmp dword [esp + 0x64], 0
mov byte [esp + 0xaf0], 0x1b
je 0x4370a5
cmp dword [esp + 0x58], 0
jne 0x4370a5
push str.Not_selected_FLASH_to_earase_flash__n
lea ecx, [esp + 0x44]
xor esi, esi
call fcn.004024f0
cmp dword [esp + 0x5c], 0
je 0x4370c3
cmp dword [esp + 0x34], 0
jne 0x4370c3
push str.Not_selected_NV_file__n
lea ecx, [esp + 0x44]
xor esi, esi
call fcn.004024f0
mov edi, dword [esp + 0x44]
mov ecx, dword [edi + 0xc1c]
add ecx, 0x138
call fcn.004399f0
mov edx, dword [edi + 0xc1c]
mov edi, dword [edx + 0x1f0]
test ebx, ebx
jne 0x4370f8
push str.Not_selected_all_files__n
lea ecx, [esp + 0x44]
xor esi, esi
call fcn.004024f0
cmp dword [esp + 0x6c], 0
je 0x437153
test ebp, ebp
je 0x437153
test ebx, ebx
jne 0x437117
push str.Selected_repartition_but_not_select_all_files_to_download__n
lea ecx, [esp + 0x44]
xor esi, esi
call fcn.004024f0
test edi, edi
jne 0x437135
cmp dword [esp + 0x34], edi
je 0x437131
push str.Selected_repartition_but_not_any_NV_item_to_backup__n
lea ecx, [esp + 0x44]
xor esi, esi
call fcn.004024f0
test edi, edi
je 0x437153
cmp dword [esp + 0x34], 0
jne 0x437153
cmp dword [esp + 0x5c], 0
je 0x437153
push str.Selected_backup_nv_items_but_not_input_the_NV_file__n
lea ecx, [esp + 0x44]
call fcn.004024f0
jmp 0x437157
test esi, esi
jne 0x4371c7
cmp dword [0x4f01f8], 0
jne 0x4371c7
push str._nIf_continue_
lea ecx, [esp + 0x44]
call fcn.004024f0
mov eax, dword [esp + 0x40]
push 0
push 0x34
push eax
call fcn.0045a9ee
cmp eax, 7
jne 0x4371c7
cmp dword [0x4f01f8], 0
je 0x4371b9
mov ecx, dword [esp + 0x44]
call fcn.00408c60
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.0040dee0
mov edx, dword [eax + 0x20]
push 0
push 0
push 0x10
push edx
call esi
lea ecx, [esp + 0x40]
call fcn.004014d0
jmp 0x436fda
mov ebp, dword [esp + 0x44]
mov eax, dword [ebp + 0x2e8]
sub eax, 0x10
push eax
call fcn.004015b0
lea esi, [eax + 0x10]
mov dword [esp + 0x1c], esi
mov eax, dword [ebp + 0x2e8]
sub eax, 0x10
push eax
mov byte [esp + 0xaf8], 0x1c
call fcn.004015b0
add eax, 0x10
mov dword [esp + 0x54], eax
mov eax, dword [0x4f0200]
add eax, 0xfffffff0
push eax
mov byte [esp + 0xafc], 0x1d
call fcn.004015b0
add eax, 0x10
mov dword [esp + 0x2c], eax
mov eax, dword [0x4f0204]
add eax, 0xfffffff0
push eax
mov byte [esp + 0xb00], 0x1e
call fcn.004015b0
add eax, 0x10
add esp, 0x10
mov dword [esp + 0x30], eax
cmp dword [esi - 0xc], 0
mov byte [esp + 0xaf0], 0x1f
jl 0x43726f
push str.PAC_
push esi
call fcn.00482831
add esp, 8
test eax, eax
je 0x43726f
sub eax, esi
sar eax, 1
jne 0x43726f
push 4
push 0
lea ecx, [esp + 0x20]
call fcn.0040b280
cmp dword [0x4f01f8], 0
jne 0x4373b5
push 0
lea ecx, [esp + 0x11c]
call fcn.0040ab70
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x294]
mov byte [esp + 0xaf4], 0x20
call fcn.00401c20
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x298]
call fcn.00401c20
lea ecx, [esp + 0x118]
call fcn.00452948
cmp eax, 2
jne 0x43730b
lea ecx, [esp + 0x118]
mov byte [esp + 0xaf0], 0x1f
call fcn.0040ad20
lea ecx, [esp + 0x30]
call fcn.004014d0
lea ecx, [esp + 0x20]
call fcn.004014d0
lea ecx, [esp + 0x4c]
call fcn.004014d0
lea ecx, [esp + 0x18]
call fcn.004014d0
lea ecx, [esp + 0x40]
call fcn.004014d0
jmp 0x436fda
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push 1
push 0
push 0
push 0
lea edx, [esp + 0x10c]
push edx
call esi
test eax, eax
je 0x43735d
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
lea eax, [esp + 0xfc]
push eax
call edi
lea ecx, [esp + 0xfc]
push ecx
call ebx
push 1
push 0
push 0
push 0
lea edx, [esp + 0x10c]
push edx
call esi
test eax, eax
jne 0x437333
lea eax, [esp + 0x290]
push eax
lea ecx, [esp + 0x1c]
call fcn.00401c20
lea ecx, [esp + 0x294]
push ecx
lea ecx, [esp + 0x50]
call fcn.00401c20
lea edx, [esp + 0x288]
push edx
lea ecx, [esp + 0x24]
call fcn.00401c20
lea eax, [esp + 0x28c]
push eax
lea ecx, [esp + 0x34]
call fcn.00401c20
lea ecx, [esp + 0x118]
mov byte [esp + 0xaf0], 0x1f
call fcn.0040ad20
mov ebx, dword [esp + 0x60]
lea ecx, [esp + 0xa8]
mov edi, ebx
call fcn.0045e668
xor esi, esi
mov byte [esp + 0xaf0], 0x21
mov dword [esp + 0x58], esi
cmp dword [esp + 0x70], esi
je 0x4373f6
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0xa8]
push ecx
push edx
mov ecx, ebp
call fcn.00430310
mov dword [esp + 0x58], eax
lea edi, [eax + ebx]
lea ecx, [esp + 0xbc]
call fcn.0045e668
mov byte [esp + 0xaf0], 0x22
mov dword [esp + 0x64], esi
cmp dword [esp + 0x68], esi
je 0x437499
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xbc]
push eax
push ecx
mov ecx, ebp
call fcn.00430690
mov dword [esp + 0x64], eax
cmp eax, 0xffffffff
jne 0x437497
cmp dword [0x4f01f8], esi
je 0x43746a
mov ecx, ebp
call fcn.00408c60
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.0040dee0
mov eax, dword [eax + 0x20]
push 0
push 0
push 0x10
push eax
call esi
lea ecx, [esp + 0xbc]
mov byte [esp + 0xaf0], 0x21
call fcn.0045e894
lea ecx, [esp + 0xa8]
mov byte [esp + 0xaf0], 0x1f
call fcn.0045e894
jmp 0x4372d9
add edi, eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x24]
add ecx, edx
add edi, ecx
xor ecx, ecx
mov eax, edi
mov edx, 0xa14
mul edx
seto cl
mov dword [esp + 0x6c], edi
mov dword [esp + 0x5c], 0
neg ecx
or ecx, eax
push ecx
call fcn.00451e0a
mov esi, eax
add esp, 4
mov dword [esp + 0x74], esi
xor ebp, ebp
mov byte [esp + 0xaf0], 0x23
cmp esi, ebp
je 0x4374fa
push 0x402cd0
push edi
push 0xa14
push esi
call fcn.00401000
mov dword [esp + 0x1c], esi
jmp 0x4374fe
mov dword [esp + 0x1c], ebp
cmp ebx, ebp
mov byte [esp + 0xaf0], 0x22
mov dword [esp + 0x34], ebp
jle 0x4376b3
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
xor edi, edi
add ebx, 4
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x44]
push ecx
add ebp, 0x140
mov ecx, ebp
lea esi, [ebx - 4]
call fcn.0045f5ba
mov edx, dword [esp + 0x34]
push 1
mov dword [ebx + 0x608], eax
push edx
lea eax, [esp + 0x78]
push eax
mov ecx, ebp
call fcn.0045f421
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + 0x2ec]
mov eax, dword [edx + 0x208]
add eax, edi
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0xaf4], 0x24
call fcn.00402530
mov eax, dword [esp + 0x68]
mov ecx, ebx
mov byte [esp + 0xaf0], 0x25
sub ecx, eax
lea esp, [esp]
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x437590
cmp dword [esi + 0x60c], 0
je 0x4375c5
mov eax, dword [esp + 0x70]
mov ecx, esi
sub ecx, eax
lea edx, [ecx + 0x204]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4375b6
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x44]
push edx
lea ecx, [ebp + 0x140]
call fcn.0045ec92
movzx ecx, ax
mov dword [esi + 0x608], ecx
test eax, 0x30000
je 0x4375f3
mov dword [esi + 0x614], 1
mov edx, dword [ebp + 0x2ec]
mov eax, dword [edx + 0x208]
mov ecx, dword [eax + edi + 0x5a4]
xor eax, eax
mov dword [esi + 0x618], ecx
test ecx, ecx
jbe 0x437644
xor edx, edx
lea ecx, [esi + 0x61c]
mov ebp, dword [esp + 0x44]
mov ebp, dword [ebp + 0x2ec]
mov ebp, dword [ebp + 0x208]
add ebp, edi
mov ebp, dword [edx + ebp + 0x414]
mov dword [ecx], ebp
inc eax
add ecx, 4
add edx, 0x50
cmp eax, dword [esi + 0x618]
jb 0x43761a
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x24
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43766c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x70]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x22
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437694
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x34]
inc eax
add ebx, 0xa14
add edi, 0xbcc
cmp eax, dword [esp + 0x60]
mov dword [esp + 0x34], eax
jl 0x437523
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x5c]
xor esi, esi
test ebp, ebp
jle 0x43771d
mov edx, dword [esp + 0x1c]
mov ecx, ebx
imul ecx, ecx, 0xa14
lea edi, [ecx + edx + 0x204]
mov dword [edi + 0x408], 1
test esi, esi
jl 0x4378f9
cmp esi, dword [esp + 0x94]
jge 0x4378f9
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + esi*4]
mov edx, edi
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x437700
inc esi
inc ebx
add edi, 0xa14
cmp esi, ebp
jl 0x4376d4
mov ebp, dword [esp + 0x58]
xor esi, esi
test ebp, ebp
jle 0x43778d
mov edx, dword [esp + 0x1c]
mov ecx, ebx
imul ecx, ecx, 0xa14
lea edi, [ecx + edx + 0x204]
lea ebx, [ebx]
mov dword [edi + 0x408], 1
test esi, esi
jl 0x4378f9
cmp esi, dword [esp + 0xb0]
jge 0x4378f9
mov eax, dword [esp + 0xac]
mov ecx, dword [eax + esi*4]
mov edx, edi
jmp 0x437770
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x437770
inc esi
inc ebx
add edi, 0xa14
cmp esi, ebp
jl 0x437740
mov ebp, dword [esp + 0x64]
xor esi, esi
test ebp, ebp
jle 0x4377fd
mov edx, dword [esp + 0x1c]
mov ecx, ebx
imul ecx, ecx, 0xa14
lea edi, [ecx + edx + 0x204]
lea ebx, [ebx]
mov dword [edi + 0x408], 1
test esi, esi
jl 0x4378f9
cmp esi, dword [esp + 0xc4]
jge 0x4378f9
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + esi*4]
mov edx, edi
jmp 0x4377e0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4377e0
inc esi
inc ebx
add edi, 0xa14
cmp esi, ebp
jl 0x4377b0
xor esi, esi
cmp dword [esp + 0x80], esi
jle 0x437871
mov ecx, dword [esp + 0x1c]
imul ebx, ebx, 0xa14
lea edi, [ebx + ecx + 0x204]
lea esp, [esp]
mov dword [edi + 0x408], 1
test esi, esi
jl 0x4378f9
cmp esi, dword [esp + 0x80]
jge 0x4378f9
mov edx, dword [esp + 0x7c]
mov ecx, dword [edx + esi*4]
mov edx, edi
jmp 0x437850
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x437850
inc esi
add edi, 0xa14
cmp esi, dword [esp + 0x80]
jl 0x437820
push 0
lea ecx, [esp + 0xd4]
call fcn.004036f0
mov edi, dword [esp + 0x20]
push 0
push edi
lea ecx, [esp + 0xd8]
mov byte [esp + 0xaf8], 0x26
call fcn.00403840
test eax, eax
jne 0x437a29
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4378b3
push eax
call fcn.00451dff
add esp, 4
cmp dword [0x4f01f8], 0
je 0x43790c
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
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.00468552
test eax, eax
je 0x4378fe
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x437900
call fcn.00451f1d
xor eax, eax
mov ecx, dword [eax + 0x20]
push 0
push 0
push 0x10
push ecx
call esi
lea ecx, [esp + 0xd0]
mov byte [esp + 0xaf0], 0x22
call fcn.00402fe0
lea ecx, [esp + 0xbc]
mov byte [esp + 0xaf0], 0x21
call fcn.0045e894
lea ecx, [esp + 0xa8]
mov byte [esp + 0xaf0], 0x1f
call fcn.0045e894
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x1e
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437970
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [esp + 0xaf0], 0x1d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437994
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x4c]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x1c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4379bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x1b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4379e4
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
mov byte [esp + 0xaf0], 0x1a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437a0c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x78]
mov byte [esp + 0xaf0], 0x18
call fcn.0045e894
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
jmp 0x436f33
call fcn.00459da6
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x437a43
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 esi, dword [esp + 0x44]
mov eax, dword [esi + 0x2e8]
lea ecx, [esp + 0x58]
push ecx
push eax
lea ecx, [esi + 0xc38]
mov byte [esp + 0xaf8], 0x27
call fcn.0042d9d0
push 0x84c
lea edx, [esp + 0x29c]
push 0
push edx
call fcn.00482280
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x2d8]
add esp, 0xc
mov dword [esp + 0xadc], 0xfffafffa
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437aa5
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x4cc]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437ac1
lea ecx, [esp + 0x4c]
call fcn.00408e70
lea ecx, [esp + 0x4c]
call fcn.00408f10
mov eax, dword [esp + 0x4c]
cmp dword [eax - 0xc], 0
je 0x437b04
lea edx, [esp + 0x6e8]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437af5
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x6cc], eax
mov eax, dword [esi + 0x2ec]
mov ecx, dword [eax + 0x210]
mov dword [esp + 0x6d8], ecx
mov edx, dword [eax + 0x214]
mov ecx, dword [esi + 0xc28]
mov dword [esp + 0x6d4], edx
call fcn.0043dad0
mov edx, dword [esi + 0xc1c]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x6dc], eax
mov eax, dword [esi + 0xc28]
mov ecx, dword [eax + 0xbc]
mov dword [esp + 0x6e4], ecx
mov eax, dword [edx + 0x1f0]
mov ecx, dword [esi + 0x2ec]
mov dword [esp + 0x6e0], eax
mov edx, dword [ecx + 0x440]
mov ecx, dword [esi + 0xbfc]
mov eax, dword [esi + 0xbf4]
push ebx
mov dword [esp + 0x7b4], edx
push edi
lea edx, [esp + 0x2a0]
mov dword [esp + 0x7c0], ecx
push edx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x7c0], eax
call fcn.00403a50
lea ecx, [esp + 0xd0]
mov ebp, eax
call fcn.00402d10
test ebx, ebx
je 0x437bcd
push ebx
call fcn.00451dff
add esp, 4
cmp dword [0x4f01f8], 0
je 0x437cb5
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
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.00468552
test eax, eax
je 0x437c13
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x437c15
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 + 0xaf0], 0x26
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x437c45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0xd0]
mov byte [esp + 0xaf0], 0x22
call fcn.00402fe0
lea ecx, [esp + 0xbc]
mov byte [esp + 0xaf0], 0x21
call fcn.0045e894
lea ecx, [esp + 0xa8]
mov byte [esp + 0xaf0], 0x1f
call fcn.0045e894
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
mov byte [esp + 0xaf0], 0x1e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x437ca9
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
jmp 0x437973
push 0
push 0
test ebp, ebp
je 0x437cc4
push str.Packeting_complete_
jmp 0x437cc9
push str.Packeting_failed_
call fcn.0045a9ee
lea eax, [edi - 0x10]
mov byte [esp + 0xaf0], 0x26
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jmp 0x437c39
cmp dword [0x4f01f8], edi
je 0x437d37
mov ecx, dword [ebx + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetParent]
push eax
call fcn.004555a5
mov edx, dword [eax + 0x20]
mov esi, dword [sym.imp.USER32.dll_PostMessageW]
push edi
push 2
push 0x111
push edx
call esi
call fcn.00468552
cmp eax, edi
je 0x437d2b
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x74]
call eax
jmp 0x437d2d
xor eax, eax
mov ecx, dword [eax + 0x20]
push edi
push edi
push 0x10
push ecx
call esi
lea ecx, [esp + 0x17]
mov dword [esp + 0xaf0], 0xffffffff
call fcn.00403520
xor eax, eax
mov ecx, dword [esp + 0xae8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xad0]
xor ecx, esp
call fcn.004820da
add esp, 0xae0
ret