Function at 0x4066c0
Capabilities:
Create directory
Delete directory
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4dc
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x312
xor eax, eax
mov dword [esp + 4], str.No_SHCreateShellItem._n
mov ebx, dword [0x42c08c]
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x313
xor eax, eax
mov dword [esp + 4], str.No_SHCreateItemFromParsingName_n
mov esi, dword [0x42c084]
test esi, esi
setne al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x314
xor eax, eax
mov dword [esp + 4], str.No_SHCreateShellItem._n
mov edi, dword [0x42c088]
test edi, edi
setne al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x315
xor eax, eax
mov dword [esp + 4], str.No_SHCreateItemFromParsingName_n
mov edx, dword [0x42c084]
test edx, edx
setne al
mov dword [esp], eax
call fcn.00401cd0
lea eax, [ebp - 0x494]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_SHGetDesktopFolder]
lea eax, [ebp - 0x474]
sub esp, 4
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x494]
mov dword [esp], eax
call dword [0x42c088]
sub esp, 8
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x31a
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test ebx, ebx
js 0x40856a
lea eax, [ebp - 0x48c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x474]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], 0
call dword [0x42c08c]
sub esp, 0x10
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x31e
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test ebx, ebx
js 0x408558
lea eax, [ebp - 0x488]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x474]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp], 0
call dword [0x42c08c]
sub esp, 0x10
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x322
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test ebx, ebx
js 0x408547
mov eax, dword [ebp - 0x474]
lea esi, [ebp - 0x41c]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_ILFree]
mov eax, dword [ebp - 0x494]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x32f
mov dword [esp + 4], str.psidesktop__psidesktop2_n
mov eax, dword [ebp - 0x488]
cmp dword [ebp - 0x48c], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov ebx, dword [sym.imp.kernel32.dll_CreateDirectoryA]
mov dword [esp + 4], 0
mov dword [esp], str.._testdir
call ebx
mov eax, str.._testdir_test1.txt
sub esp, 8
call fcn.004010a0
mov eax, str.._testdir_test2.txt
call fcn.004010a0
mov eax, str.._testdir_test3.txt
call fcn.004010a0
mov dword [esp + 4], 0
mov dword [esp], str.._testdir_testdir2
call ebx
sub esp, 8
mov dword [esp + 4], 0
mov dword [esp], str.._testdir_testdir2_subdir
call ebx
sub esp, 8
mov dword [esp + 4], esi
mov dword [esp], 0x104
call dword [sym.imp.kernel32.dll_GetCurrentDirectoryW]
sub esp, 8
call fcn.0040c640
mov dword [eax], 0x411054
cmp word [ebp - 0x41c], 0
mov dword [eax + 4], 0x333
mov eax, esi
je 0x408614
add eax, 2
cmp word [eax], 0
jne 0x4069a6
sub eax, esi
sar eax, 1
mov dword [esp], eax
lea ebx, [ebp - 0x214]
mov dword [esp + 4], str.Got_0_length_string._n
call fcn.00401cd0
xor eax, eax
movzx edx, word [esi + eax]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x4069cb
cmp word [ebp - 0x214], 0
je 0x40861b
mov eax, ebx
add eax, 2
cmp word [eax], 0
jne 0x4069eb
mov edx, eax
sub edx, ebx
sub edx, 1
cmp edx, 0x205
jbe 0x4071e6
mov edx, ebx
add edx, 2
cmp word [edx], 0
jne 0x406a09
xor eax, eax
movzx ecx, word [eax + str.testdir]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x406a14
lea eax, [ebp - 0x484]
mov dword [esp + 8], 0x417304
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x42c084]
sub esp, 0x10
mov edi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x339
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
xor eax, eax
test edi, edi
js 0x4084eb
movzx edx, word [esi + eax]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x406a86
cmp word [ebp - 0x214], 0
mov eax, ebx
je 0x406ac9
add eax, 2
cmp word [eax], 0
jne 0x406aa2
mov edx, eax
sub edx, ebx
sub edx, 1
cmp edx, 0x205
jbe 0x4071fc
mov eax, ebx
add eax, 2
cmp word [eax], 0
jne 0x406ac0
xor edx, edx
movzx ecx, word [edx + str.testdir_testdir2]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x406acb
lea eax, [ebp - 0x480]
mov dword [esp + 8], 0x417304
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x42c084]
sub esp, 0x10
mov edi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x33f
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test edi, edi
js 0x4084eb
xor eax, eax
movzx edx, word [esi + eax]
mov word [ebx + eax], dx
add eax, 2
test dx, dx
jne 0x406b3d
cmp word [ebp - 0x214], 0
mov eax, ebx
je 0x406b80
add eax, 2
cmp word [eax], 0
jne 0x406b59
mov edx, eax
sub edx, ebx
sub edx, 1
cmp edx, 0x205
jbe 0x4085a1
mov eax, ebx
add eax, 2
cmp word [eax], 0
jne 0x406b77
xor edx, edx
movzx ecx, word [edx + str.testdir_test1.txt]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x406b82
lea eax, [ebp - 0x47c]
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x417304
mov dword [esp + 4], 0
call dword [0x42c084]
sub esp, 0x10
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x345
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test ebx, ebx
js 0x4084eb
lea eax, [ebp - 0x4a0]
mov dword [esp + 0xc], 0x416fa4
lea edi, [ebp - 0x464]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x416d64
call dword [sym.imp.ole32.dll_CoCreateInstance]
sub esp, 0x14
mov ebx, eax
mov eax, 0x34a
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Failed_to_initialize_control__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov ebx, eax
mov eax, 0x34e
call fcn.004014a0
xor eax, eax
cmp ebx, 0x80070057
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov ebx, eax
mov eax, 0x350
call fcn.004014a0
xor eax, eax
cmp ebx, 0x80004005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov ebx, eax
mov eax, 0x352
call fcn.004014a0
xor eax, eax
cmp ebx, 0x80004002
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x40
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov ebx, eax
mov eax, 0x354
call fcn.004014a0
xor eax, eax
cmp ebx, 0x80004005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x45c], 0xc8
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x458], 0xc8
mov edx, dword [eax]
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
mov ecx, dword [0x42c090]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0xc]
sub esp, 0x10
mov ebx, eax
mov eax, 0x35a
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
lea ecx, [ebp - 0x49c]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x416f94
mov dword [esp], eax
call dword [edx]
mov ebx, eax
sub esp, 0xc
mov eax, 0x35f
call fcn.004014a0
test ebx, ebx
jne 0x4085b7
mov dword [esp + 8], 0
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 1
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov edx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x58]
mov ebx, eax
sub esp, 0xc
mov eax, 0x36e
call fcn.004014a0
test ebx, ebx
je 0x408643
mov edx, dword [0x43c0d0]
test edx, edx
je 0x40b0d1
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 0
call fcn.00401cd0
mov eax, 0x3ee
lea esi, [ebp - 0x468]
lea edi, [ebp - 0x454]
call fcn.004014a0
mov dword [esp], str.Detected_broken_INameSpaceTreeControl2._n
call fcn.00401740
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x468], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x5c]
sub esp, 0xc
mov ebx, eax
mov eax, 0x3f2
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3f3
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_style__lx_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov edx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x64]
sub esp, 0xc
mov ebx, eax
mov eax, 0x3f6
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov ebx, 1
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3f7
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], str.Got_style__x_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov dword [ebp - 0x4ac], edi
xor ecx, ecx
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4a8], esi
mov esi, ebx
mov ebx, ecx
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [ecx + 0x58]
sub esp, 0xc
mov edi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x3fd
mov dword [esp + 0xc], esi
cmp edi, 0x80004005
je 0x408622
test esi, 0x10
je 0x40701a
test edi, edi
je 0x40af78
mov dword [esp + 8], edi
mov dword [esp + 4], str.Got_0x_08lx___lx__n
mov dword [esp], 0
call fcn.00401cd0
test edi, edi
js 0x407038
or ebx, esi
add dword [ebp - 0x4a4], 1
mov eax, dword [ebp - 0x4a4]
mov esi, dword [eax*4 + 0x411b00]
test esi, esi
jne 0x406fcd
mov eax, dword [ebp - 0x49c]
mov ecx, ebx
mov ebx, esi
mov esi, dword [ebp - 0x4a8]
mov dword [ebp - 0x468], 0xdeadbeef
mov edi, dword [ebp - 0x4ac]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp], eax
call dword [edx + 0x5c]
sub esp, 0xc
mov esi, eax
mov eax, 0x404
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov esi, 1
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x405
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_style__lx_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov dword [ebp - 0x4a4], edi
xor edx, edx
mov edi, ebx
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x4a8], edx
mov ebx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [ebx + 0x60]
sub esp, 0xc
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x40b
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], esi
or esi, edi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx___x__n
mov dword [esp], eax
call fcn.00401cd0
mov edx, dword [ebp - 0x4a8]
test ebx, ebx
cmovns edi, esi
add edx, 1
mov esi, dword [edx*4 + 0x411b7c]
test esi, esi
jne 0x4070ec
mov eax, dword [ebp - 0x49c]
mov ebx, edi
mov edi, dword [ebp - 0x4a4]
mov dword [ebp - 0x454], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x64]
sub esp, 0xc
mov esi, eax
mov eax, 0x411
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x412
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], str.Got_style__x_n
cmp eax, ebx
mov dword [esp + 8], eax
lea ebx, [ebp - 0x444]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
jmp 0x408fb1
cmp word [eax - 2], 0x5c
je 0x406a07
mov dword [eax], 0x5c
jmp 0x406a07
cmp word [eax - 2], 0x5c
je 0x406abe
mov dword [eax], 0x5c
jmp 0x406abe
mov dword [esp + 8], 0
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 1
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x5b6
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x470]
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xff
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x30]
sub esp, 0x10
mov esi, eax
mov eax, 0x5ba
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x498]
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x5bb
call fcn.004014a0
mov eax, dword [ebp - 0x470]
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp + 8], eax
not eax
and eax, 1
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov esi, eax
mov eax, 0x5bd
call fcn.004014a0
xor eax, eax
cmp esi, 0x80004005
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x407365
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov esi, eax
mov eax, 0x5c1
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x5c7
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x470]
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xff
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x30]
sub esp, 0x10
mov esi, eax
mov eax, 0x5cb
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov esi, dword [0x43c0d0]
call fcn.0040c640
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test esi, esi
setne cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4074ad
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x5cc
mov eax, dword [ebp - 0x470]
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp + 8], eax
and eax, 1
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x407476
mov eax, dword [ebp - 0x4a0]
lea esi, [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x34]
mov ecx, dword [0x43c0d0]
sub esp, 8
mov esi, eax
mov dword [ebp - 0x4a4], ecx
call fcn.0040c640
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x4a4]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x407545
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x5ce
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x407510
test esi, esi
js 0x4075f7
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
test eax, eax
js 0x4075e6
mov eax, dword [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov esi, eax
mov eax, 0x5d8
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x5e4
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x470]
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xff
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x30]
sub esp, 0x10
mov esi, eax
mov eax, 0x5e8
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x498]
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x5e9
call fcn.004014a0
mov eax, dword [ebp - 0x470]
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp + 8], eax
not eax
and eax, 1
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x34]
mov ecx, dword [0x43c0d0]
sub esp, 8
mov esi, eax
mov dword [ebp - 0x4a4], ecx
call fcn.0040c640
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x4a4]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x407758
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x5eb
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x407723
mov dword [ebp - 0x4a4], edx
test esi, esi
js 0x407810
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
test eax, eax
js 0x4077ff
mov eax, dword [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov esi, eax
mov eax, 0x5f5
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov esi, eax
mov eax, 0x5fe
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
lea esi, [ebp - 0x464]
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x464], 0
mov edx, dword [eax]
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0x60b
call fcn.004014a0
xor eax, eax
cmp esi, 0x80070057
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x610
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x464]
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0x614
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x615
call fcn.004014a0
mov dword [esp + 4], str.Got_0_height._n
mov eax, dword [ebp - 0x458]
cmp dword [ebp - 0x460], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x616
call fcn.004014a0
mov dword [esp + 4], str.Got_0_width._n
mov eax, dword [ebp - 0x45c]
cmp dword [ebp - 0x464], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
call fcn.00401cf0
mov esi, eax
test eax, eax
je 0x40af3a
mov ecx, dword [sym.imp.user32.dll_SendMessageW]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x110a
mov dword [esp], eax
mov dword [ebp - 0x4ac], ecx
call ecx
sub esp, 0x10
mov dword [ebp - 0x4a8], eax
mov eax, 0x61d
call fcn.004014a0
mov dword [esp + 4], str.Failed_to_get_root._n
xor eax, eax
mov edx, dword [ebp - 0x4a8]
test edx, edx
setne al
mov dword [esp], eax
call fcn.00401cd0
mov edx, dword [ebp - 0x4a8]
mov ecx, dword [ebp - 0x4ac]
test edx, edx
jne 0x40af99
xor esi, esi
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov dword [ebp - 0x4a4], eax
mov eax, 0x636
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got__0x_08lx__n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
mov eax, 0x63a
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
cmp edx, 0x80004003
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
call fcn.0040c640
mov edx, dword [ebp - 0x4a4]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x63c
xor eax, eax
cmp edx, 0x80004003
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
mov eax, 0x63e
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
cmp edx, 0x80004003
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x490], 0xdeadbeef
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x454], 0
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
call fcn.0040c640
mov edx, dword [ebp - 0x4a4]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x643
xor eax, eax
cmp edx, 1
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
mov eax, 0x644
call fcn.004014a0
mov eax, dword [ebp - 0x490]
mov dword [esp + 4], str.Got_psi__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov dword [ebp - 0x4a4], eax
mov eax, 0x649
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
mov eax, 0x64d
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov edx, dword [ebp - 0x4a4]
test edx, edx
js 0x407d84
mov eax, dword [ebp - 0x490]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov dword [ebp - 0x4a4], eax
mov eax, 0x652
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x653
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_cmp__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x450]
lea eax, [esi + eax - 1]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov esi, eax
mov eax, 0x659
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x407e6d
mov eax, dword [ebp - 0x490]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov esi, eax
mov eax, 0x65e
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x65f
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_cmp__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
add dword [ebp - 0x450], 1
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov esi, eax
mov eax, 0x665
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
jns 0x40adc1
mov eax, dword [ebp - 0x4a0]
lea esi, [ebp - 0x464]
mov edx, dword [eax]
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x50]
sub esp, 0xc
mov esi, eax
mov eax, 0x676
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
jns 0x40aca0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov ebx, eax
mov eax, 0x689
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov ebx, eax
call fcn.00401160
mov eax, 0x699
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov ebx, dword [0x43c0d0]
call fcn.0040c640
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
lea ebx, [ebp - 0x46c]
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40823d
mov dword [ebp - 0x46c], 0xffffffff
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x38]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x69f
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov edx, dword [ebp - 0x46c]
mov dword [eax + 4], 0x6a0
mov eax, 1
test edx, edx
je 0x408063
mov eax, dword [0x43c0d0]
test eax, eax
sete cl
xor eax, eax
cmp edx, 1
sete al
and eax, ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got__d_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], 1
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x3c]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6a4
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x46c], 0xffffffff
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x38]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6a8
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6a9
mov eax, dword [ebp - 0x46c]
mov dword [esp + 4], str.Got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], 0xfff
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x3c]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6ac
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x46c], 0xffffffff
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x38]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6b0
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6b1
mov eax, dword [ebp - 0x46c]
mov dword [esp + 4], str.Got__d_n
cmp eax, 0xf
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x407fd6
mov ebx, dword [0x43c0d0]
call fcn.0040c640
xor ecx, ecx
mov edi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x408355
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 8
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6b8
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], str.Explorer
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 8
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6ba
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], str.__hello
mov dword [esp], eax
call dword [edx + 0x44]
sub esp, 8
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6bc
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x4a0]
test edx, edx
mov edx, dword [eax]
jne 0x40827d
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov ebx, eax
mov eax, 0x6c0
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x488]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x484]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x480]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x47c]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0x4a0]
lea ecx, [ebp - 0x478]
sub esp, 4
mov edx, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x418504
mov dword [esp], eax
call dword [edx]
sub esp, 0xc
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x6c9
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test ebx, ebx
js 0x4084b3
mov eax, dword [ebp - 0x478]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0xc]
sub esp, 8
mov ebx, eax
mov eax, 0x6ce
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x468]
mov dword [esp], eax
call dword [sym.imp.user32.dll_DestroyWindow]
mov eax, dword [ebp - 0x478]
sub esp, 4
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov ebx, eax
mov eax, 0x6d4
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.res_was__d__n
mov dword [esp], eax
call fcn.00401cd0
mov ebx, dword [sym.imp.kernel32.dll_DeleteFileA]
mov dword [esp], 0x411914
call ebx
sub esp, 4
mov dword [esp], 0x411928
call ebx
sub esp, 4
mov dword [esp], 0x41193c
call ebx
mov ebx, dword [sym.imp.kernel32.dll_RemoveDirectoryA]
sub esp, 4
mov dword [esp], str.._testdir_testdir2_subdir
call ebx
sub esp, 4
mov dword [esp], 0x41196a
call ebx
sub esp, 4
mov dword [esp], str.._testdir
call ebx
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x474]
mov dword [esp], eax
call dword [sym.imp.shell32.dll_ILFree]
sub esp, 4
mov eax, dword [ebp - 0x494]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x32b
mov dword [esp], str.Test_setup_failed._n
call fcn.00401ca0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp word [eax - 2], 0x5c
je 0x406b75
mov dword [eax], 0x5c
jmp 0x406b75
mov ecx, dword [0x43c0d0]
test ecx, ecx
jne 0x4085cd
cmp ebx, 0x80004002
je 0x40b0fe
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 0
call fcn.00401cd0
test ebx, ebx
jns 0x406e42
mov eax, 0x41a
lea ebx, [ebp - 0x444]
lea edi, [ebp - 0x454]
call fcn.004014a0
mov dword [esp], str.INameSpaceTreeControl2_missing._n
call fcn.00401730
jmp 0x408fc2
xor eax, eax
jmp 0x4069b3
mov edx, ebx
jmp 0x406a12
mov dword [esp + 8], 0x80004005
mov dword [esp + 4], str.Got_0x_08lx___lx__n
mov dword [esp], 1
call fcn.00401cd0
jmp 0x407038
mov dword [esp + 8], 0
lea esi, [ebp - 0x468]
mov edi, 1
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 1
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x454], 0xdeadbeef
mov dword [ebp - 0x468], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x5c]
sub esp, 0xc
mov ebx, eax
mov eax, 0x37e
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x37f
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_style__lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov edx, dword [eax]
mov dword [esp + 8], 0xfffffff
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x58]
sub esp, 0xc
mov ebx, eax
mov eax, 0x382
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
xor ebx, ebx
mov dword [esp], eax
call fcn.00401cd0
mov dword [ebp - 0x4a4], esi
xor edx, edx
mov esi, ebx
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x4a8], edx
mov ebx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [ebx + 0x58]
sub esp, 0xc
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x388
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], edi
or edi, esi
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx___lx__n
mov dword [esp], eax
call fcn.00401cd0
mov edx, dword [ebp - 0x4a8]
test ebx, ebx
cmovns esi, edi
add edx, 1
mov edi, dword [edx*4 + 0x411ba0]
test edi, edi
jne 0x408742
mov eax, dword [ebp - 0x49c]
mov ebx, esi
mov esi, dword [ebp - 0x4a4]
mov edx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [edx + 0x5c]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
mov eax, 0x38d
call fcn.004014a0
mov edx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
test edx, edx
mov dword [esp + 8], edx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x38e
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.Got_style__lx__expected__lx__n
cmp eax, ebx
mov dword [esp + 8], eax
lea ebx, [ebp - 0x444]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov edx, dword [ebp - 0x4a4]
test edx, edx
js 0x408914
mov dword [ebp - 0x4a4], 0
mov edx, 1
mov dword [ebp - 0x4ac], esi
mov dword [ebp - 0x4a8], edi
mov edi, ebx
mov ebx, edx
mov eax, dword [ebp - 0x49c]
mov esi, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [esi + 0x5c]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x395
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x396
mov eax, dword [ebp - 0x444]
mov dword [esp + 4], str.Got__lx_n
mov dword [esp + 8], eax
and ebx, dword [ebp - 0x468]
cmp ebx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
add dword [ebp - 0x4a4], 1
mov eax, dword [ebp - 0x4a4]
mov ebx, dword [eax*4 + 0x411ba0]
test ebx, ebx
jne 0x408868
mov ebx, edi
mov esi, dword [ebp - 0x4ac]
mov edi, dword [ebp - 0x4a8]
mov dword [ebp - 0x4a8], ebx
mov edx, 1
mov dword [ebp - 0x4a4], esi
mov esi, edx
mov eax, dword [ebp - 0x49c]
mov ebx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [ebx + 0x58]
sub esp, 0xc
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x39d
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], esi
add edi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx___lx__n
mov dword [esp], eax
call fcn.00401cd0
mov esi, dword [edi*4 + 0x411ba0]
test esi, esi
jne 0x408927
mov eax, dword [ebp - 0x49c]
mov edx, esi
mov esi, dword [ebp - 0x4a4]
lea edi, [ebp - 0x454]
mov dword [ebp - 0x4ac], edx
mov ebx, dword [ebp - 0x4a8]
mov ecx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [ecx + 0x5c]
sub esp, 0xc
mov esi, eax
mov eax, 0x3a0
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3a1
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_style__lx_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [ecx + 0x64]
sub esp, 0xc
mov esi, eax
mov eax, 0x3a5
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3a6
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], str.Got_style__x_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [ecx + 0x60]
sub esp, 0xc
mov esi, eax
mov eax, 0x3a9
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [ecx + 0x60]
sub esp, 0xc
mov esi, eax
mov eax, 0x3ab
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [ecx + 0x60]
sub esp, 0xc
mov esi, eax
mov eax, 0x3ae
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [ecx + 0x60]
sub esp, 0xc
mov esi, eax
mov eax, 0x3b0
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [ecx + 0x60]
sub esp, 0xc
mov esi, eax
mov eax, 0x3b3
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call dword [ecx + 0x64]
sub esp, 0xc
mov esi, eax
mov eax, 0x3b5
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3b6
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], str.Got_style__x_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov ecx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xffff
mov dword [esp], eax
call dword [ecx + 0x64]
sub esp, 0xc
mov esi, eax
mov eax, 0x3b9
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov esi, 1
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3ba
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], str.Got_style__x_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov dword [ebp - 0x4a8], edi
mov edi, dword [ebp - 0x4ac]
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4ac], ebx
mov eax, dword [ebp - 0x49c]
mov ebx, dword [eax]
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [ebx + 0x60]
sub esp, 0xc
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x3c0
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], esi
or esi, edi
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx___x__n
call fcn.00401cd0
test ebx, ebx
cmovns edi, esi
add dword [ebp - 0x4a4], 1
mov eax, dword [ebp - 0x4a4]
mov esi, dword [eax*4 + 0x411b7c]
test esi, esi
jne 0x408ce8
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x4b0], edi
mov edi, dword [ebp - 0x4a8]
mov ebx, dword [ebp - 0x4ac]
mov ecx, dword [eax]
mov dword [esp + 4], 0xffff
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [ecx + 0x64]
sub esp, 0xc
mov dword [ebp - 0x4a4], eax
mov eax, 0x3c5
call fcn.004014a0
mov ecx, dword [ebp - 0x4a4]
xor eax, eax
mov dword [esp + 4], str.Got_0x_08lx_n
test ecx, ecx
mov dword [esp + 8], ecx
sete al
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3c6
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov edx, dword [ebp - 0x4b0]
mov dword [esp + 4], str.Got_style__x__expected__lx__n
cmp eax, edx
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov ecx, dword [ebp - 0x4a4]
test ecx, ecx
js 0x408ec2
mov dword [ebp - 0x4a4], 0
mov edx, 1
mov dword [ebp - 0x4a8], esi
mov dword [ebp - 0x4ac], edi
mov edi, ebx
mov ebx, edx
mov eax, dword [ebp - 0x49c]
mov esi, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [esi + 0x64]
sub esp, 0xc
mov esi, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x3cd
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x3ce
mov eax, dword [ebp - 0x444]
mov dword [esp + 4], str.Got__x_n
mov dword [esp + 8], eax
and ebx, dword [ebp - 0x454]
cmp ebx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
add dword [ebp - 0x4a4], 1
mov eax, dword [ebp - 0x4a4]
mov ebx, dword [eax*4 + 0x411b7c]
test ebx, ebx
jne 0x408e16
mov ebx, edi
mov esi, dword [ebp - 0x4a8]
mov edi, dword [ebp - 0x4ac]
mov dword [ebp - 0x4a8], ebx
mov edx, 1
mov dword [ebp - 0x4a4], edi
mov edi, esi
mov esi, edx
mov eax, dword [ebp - 0x49c]
mov ebx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp + 8], 0
mov dword [esp], eax
call dword [ebx + 0x60]
sub esp, 0xc
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x3d5
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0xc], esi
add edi, 1
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_0x_08lx___x__n
mov dword [esp], eax
call fcn.00401cd0
mov esi, dword [edi*4 + 0x411b7c]
test esi, esi
jne 0x408ed7
mov eax, dword [ebp - 0x49c]
mov edi, dword [ebp - 0x4a4]
mov ebx, dword [ebp - 0x4a8]
mov edx, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0xffff
mov dword [esp], eax
call dword [edx + 0x64]
sub esp, 0xc
mov esi, eax
mov eax, 0x3d8
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x3d9
call fcn.004014a0
mov eax, dword [ebp - 0x454]
mov dword [esp + 4], str.Got_style__x__expected_0__n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x49c]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov esi, eax
mov eax, 0x41e
call fcn.004014a0
xor eax, eax
cmp esi, 0x80004002
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x42a
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x42c
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x20
mov ecx, dword [ebp - 0x488]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x42e
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov esi, eax
mov eax, 0x432
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov esi, eax
mov eax, 0x434
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov esi, eax
mov eax, 0x436
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov ecx, dword [ebp - 0x48c]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 8
mov esi, eax
mov eax, 0x439
call fcn.004014a0
xor eax, eax
cmp esi, 0x80004005
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov esi, eax
mov eax, 0x43b
call fcn.004014a0
xor eax, eax
cmp esi, 0x80070057
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x43e
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov esi, eax
mov eax, 0x440
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x443
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x445
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x447
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 0x32
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x449
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x20
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 1
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x44b
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov esi, eax
mov eax, 0x44e
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
lea esi, [ebp - 0x498]
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x28]
sub esp, 8
mov esi, eax
mov eax, 0x458
call fcn.004014a0
xor eax, eax
cmp esi, 0x80070057
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x45b
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x488]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x45d
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x45f
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x461
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x48c]
mov edx, ebx
mov dword [ebp - 0x434], 0
mov ecx, 0x468
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x4a0]
call fcn.004023a0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x46b
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov edx, dword [ebp - 0x48c]
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x430], 0
mov ecx, 0x473
mov dword [ebp - 0x440], edx
mov edx, dword [ebp - 0x488]
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x43c], edx
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x434], eax
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x438], edx
mov edx, ebx
call fcn.004023a0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 5
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x476
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov ecx, dword [ebp - 0x488]
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x42c], 0
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x43c], ecx
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x438], ecx
mov ecx, 0x47f
mov dword [ebp - 0x434], edx
mov edx, ebx
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x4a0]
call fcn.004023a0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp + 4], 3
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x482
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov ecx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x428], 0
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x43c], ecx
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
mov ecx, 0x48c
mov dword [ebp - 0x430], eax
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x42c], edx
mov edx, ebx
call fcn.004023a0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov esi, eax
mov eax, 0x48f
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov ecx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x424], 0
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x43c], ecx
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], ecx
mov ecx, 0x49a
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], edx
mov edx, ebx
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x4a0]
call fcn.004023a0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov ecx, dword [ebp - 0x48c]
mov dword [esp + 4], 0xffffffff
mov dword [esp + 8], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 0x18
mov esi, eax
mov eax, 0x49d
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov ecx, dword [ebp - 0x488]
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x420], 0
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x438], ecx
mov ecx, dword [ebp - 0x484]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], edx
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], ecx
mov ecx, 0x4a9
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], edx
mov edx, ebx
mov dword [ebp - 0x424], eax
mov eax, dword [ebp - 0x4a0]
call fcn.004023a0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x54]
sub esp, 4
mov ebx, eax
mov eax, 0x4ad
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov ebx, eax
mov eax, 0x4b0
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x54]
sub esp, 4
mov ebx, eax
mov eax, 0x4b3
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
call fcn.00401cf0
mov esi, eax
test eax, eax
je 0x40af55
mov edx, dword [sym.imp.user32.dll_SetWindowLongW]
mov dword [esp + 8], 0x4012b0
mov dword [esp + 4], 0xfffffffc
mov dword [esp], eax
mov dword [ebp - 0x4a4], edx
call edx
sub esp, 0xc
mov ebx, eax
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffeb
mov edx, dword [ebp - 0x4a4]
call edx
mov eax, 0x22c
sub esp, 0xc
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.Failed_to_subclass._n
setne al
mov esi, eax
mov dword [esp], esi
call fcn.00401cd0
mov eax, 0x4b7
call fcn.004014a0
mov dword [esp + 4], str.Failed_to_subclass_treeview._n
mov dword [esp], esi
call fcn.00401cd0
test ebx, ebx
je 0x40a25e
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x60
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov ebx, eax
mov eax, 0x4be
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov ebx, dword [0x42c07c]
mov eax, dword [ebx + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_free]
mov dword [ebp - 0x4c4], eax
call eax
mov dword [ebx], 0
mov eax, dword [ebp - 0x4a0]
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov edx, dword [eax]
mov dword [0x42c020], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x2c]
sub esp, 0x10
mov ebx, eax
mov eax, 0x4c8
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov ebx, dword [0x43c0d0]
call fcn.0040c640
xor ecx, ecx
mov esi, dword [eax + 0x10]
test ebx, ebx
mov dword [eax + 0x14], 1
setne cl
lea edx, [esi + esi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x409d82
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x4cb
mov eax, dword [0x42c020]
mov dword [esp + 4], str.Got__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x4cc
mov eax, dword [0x42c040]
mov dword [esp + 4], str.Got_mask__x__expected_0x50_n
cmp eax, 0x50
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x409d12
mov eax, dword [ebp - 0x4a0]
mov dword [0x42c020], 0
mov edx, dword [eax]
mov dword [esp + 0xc], 2
mov dword [esp + 8], 2
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x2c]
sub esp, 0x10
mov ebx, eax
mov eax, 0x4d2
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x4d3
call fcn.004014a0
mov eax, dword [0x42c020]
mov dword [esp + 4], str.Got__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov ebx, dword [0x42c07c]
mov eax, dword [ebx + 8]
mov dword [esp], eax
mov eax, dword [ebp - 0x4c4]
call eax
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov dword [ebx], 0
mov dword [ebp - 0x4a4], 0
mov dword [ebp - 0x4cc], edi
mov eax, dword [ebp - 0x4a4]
and eax, 8
cmp eax, 1
sbb eax, eax
xor edi, edi
xor al, al
add eax, 0x108
mov dword [ebp - 0x4c8], eax
lea esi, [esi]
mov ebx, dword [0x42c07c]
mov eax, dword [ebx + 8]
mov dword [esp], eax
mov eax, dword [ebp - 0x4c4]
call eax
mov dword [ebx], 0
mov eax, dword [ebp - 0x4a0]
mov dword [ebx + 8], 0
mov dword [ebx + 4], 0
mov edx, dword [eax]
mov dword [0x42c020], 0
mov dword [esp + 0xc], edi
mov esi, dword [ebp - 0x4a4]
mov dword [esp + 8], esi
mov ecx, dword [ebp - 0x48c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x2c]
sub esp, 0x10
mov ebx, eax
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x4e3
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0x10], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 4], str.__x_x_Got_0x_08lx_n
call fcn.00401cd0
mov eax, esi
and eax, edi
mov ebx, eax
mov edx, eax
and ebx, 1
shr edx, 4
lea ecx, [edx + ebx]
mov edx, eax
shr edx, 1
mov dword [ebp - 0x4a8], ecx
and edx, 1
lea ecx, [edx + ebx]
mov edx, esi
xor esi, edi
or edx, edi
mov dword [ebp - 0x4b4], ecx
mov ecx, edx
mov dword [ebp - 0x4b0], esi
and esi, 0x13
shr ecx, 1
and ecx, 1
mov dword [ebp - 0x4b8], ecx
mov ecx, esi
mov esi, edx
and esi, 0xc
or esi, ecx
mov dword [ebp - 0x4ac], esi
je 0x40aa80
lea esi, [eax*4]
mov dword [ebp - 0x4bc], 0
and esi, 0x10
mov dword [ebp - 0x4c0], esi
test byte [ebp - 0x4b0], 2
jne 0x409f9e
mov ecx, dword [ebp - 0x4b0]
shl edx, 2
and edx, 0x10
add ecx, ecx
and ecx, 2
or ecx, edx
mov dword [ebp - 0x4bc], ecx
shr eax, 2
and eax, 2
mov dword [ebp - 0x4b0], eax
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x4ac], eax
mov eax, dword [0x42c07c]
mov edx, dword [eax]
test edx, edx
je 0x40aaad
mov eax, dword [eax + 8]
lea edx, [edx + edx*4]
xor esi, esi
lea ecx, [eax + edx*4]
xor edx, edx
cmp dword [eax], 0x110b
sete dl
add eax, 0x14
add esi, edx
cmp eax, ecx
jne 0x409fd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x514
mov eax, 1
cmp dword [ebp - 0x4a8], esi
je 0x40a01a
mov eax, dword [0x43c0d0]
test eax, eax
sete dl
xor eax, eax
cmp dword [ebp - 0x4b4], esi
sete al
and eax, edx
mov ecx, dword [ebp - 0x4b4]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp - 0x4a8]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], edi
mov ecx, dword [ebp - 0x4a4]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], str.__x_x__Got_msg_count__d__expected__d___d__n
call fcn.00401cd0
mov eax, dword [0x42c07c]
mov edx, dword [eax]
test edx, edx
je 0x40ac70
mov eax, dword [eax + 8]
lea edx, [edx + edx*4]
xor esi, esi
lea ecx, [eax + edx*4]
lea esi, [esi]
xor edx, edx
cmp dword [eax], 0x1114
sete dl
add eax, 0x14
add esi, edx
cmp eax, ecx
jne 0x40a070
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x518
mov eax, 1
cmp ebx, esi
je 0x40a0ad
mov eax, esi
or eax, dword [0x43c0d0]
sete al
movzx eax, al
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov ebx, dword [ebp - 0x4a4]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__x_x__Got_msg_count__d__expected__d_n
call fcn.00401cd0
mov eax, dword [0x42c07c]
mov edx, dword [eax]
test edx, edx
je 0x40ac60
mov eax, dword [eax + 8]
lea edx, [edx + edx*4]
xor ebx, ebx
lea ecx, [eax + edx*4]
lea esi, [esi]
xor edx, edx
cmp dword [eax], 0x1102
sete dl
add eax, 0x14
add ebx, edx
cmp ecx, eax
jne 0x40a0f0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x51c
mov eax, dword [ebp - 0x4b8]
mov dword [esp + 0x10], ebx
cmp eax, ebx
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edi
sete al
mov ecx, dword [ebp - 0x4a4]
movzx eax, al
mov dword [esp + 4], str.__x_x__Got_msg_count__d__expected__d_n
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00401cd0
mov eax, dword [0x42c07c]
mov edx, dword [eax]
test edx, edx
je 0x40ac58
mov eax, dword [eax + 8]
lea edx, [edx + edx*4]
xor esi, esi
lea ecx, [eax + edx*4]
lea esi, [esi]
xor edx, edx
cmp dword [eax], 0x113f
sete dl
add eax, 0x14
add esi, edx
cmp eax, ecx
jne 0x40a168
mov eax, dword [ebp - 0x4ac]
test eax, eax
jne 0x40ab00
cmp dword [ebp - 0x4a4], 0x10
jne 0x40aab8
mov ebx, 1
cmp edi, 0x10
jne 0x40aab8
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x528
mov eax, 1
test esi, esi
je 0x40a1d4
mov eax, dword [0x43c0d0]
test eax, eax
sete al
cmp esi, 1
sete dl
and eax, edx
and eax, ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov ebx, dword [ebp - 0x4a4]
mov dword [esp + 4], str.__x_x__Got_msg_count__d__tviexp.mask__x__n
mov dword [esp + 8], ebx
mov dword [esp], eax
call fcn.00401cd0
add edi, 1
cmp edi, 0x20
jne 0x409e78
add dword [ebp - 0x4a4], 1
mov eax, dword [ebp - 0x4a4]
cmp eax, 0x20
jne 0x409e58
mov eax, dword [ebp - 0x4a0]
mov edi, dword [ebp - 0x4cc]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov ebx, eax
mov eax, 0x540
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
lea ebx, [ebp - 0x498]
mov dword [ebp - 0x498], 0xdeadbeef
mov edx, dword [eax]
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov ebx, eax
mov eax, 0x54c
call fcn.004014a0
xor eax, eax
cmp ebx, 0x80004005
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov edx, dword [ebp - 0x498]
mov dword [eax + 4], 0x54d
mov eax, 1
test edx, edx
je 0x40a2e6
mov eax, dword [0x43c0d0]
test eax, eax
sete cl
xor eax, eax
cmp edx, 0xdeadbeef
sete al
and eax, ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got__p_n
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x20
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov ebx, eax
mov eax, 0x550
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x20
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x18]
sub esp, 0x14
mov ebx, eax
mov eax, 0x554
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got__0x_08lx__n
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x2c]
sub esp, 0x10
mov ebx, eax
mov eax, 0x559
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea ebx, [ebp - 0x498]
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], ebx
lea ebx, [ebp - 0x490]
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov esi, eax
mov eax, 0x55c
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x40a58f
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 8
mov esi, eax
mov eax, 0x561
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x562
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got__ld_selected_items._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x468]
test eax, eax
je 0x40a57e
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
mov esi, eax
mov eax, 0x566
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x40a57e
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov esi, eax
mov eax, 0x56b
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x2c]
sub esp, 0x10
mov esi, eax
mov eax, 0x574
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
lea esi, [ebp - 0x498]
mov dword [esp], eax
call fcn.00401cd0
call fcn.00401160
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov esi, eax
mov eax, 0x578
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x40a765
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 8
mov esi, eax
mov eax, 0x57d
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x57e
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got__ld_selected_items._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov esi, dword [ebp - 0x468]
test esi, esi
je 0x40a754
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
mov esi, eax
mov eax, 0x582
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x40a754
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov esi, eax
mov eax, 0x587
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov ecx, dword [ebp - 0x47c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x2c]
mov ecx, dword [0x43c0d0]
sub esp, 0x10
mov esi, eax
mov dword [ebp - 0x4a4], ecx
call fcn.0040c640
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x4a4]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40a7fa
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x590
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x40a7c5
mov eax, dword [ebp - 0x4a0]
lea esi, [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp + 4], esi
mov dword [esp], eax
call dword [edx + 0x34]
sub esp, 8
mov esi, eax
mov eax, 0x592
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x40a9e6
mov eax, dword [ebp - 0x498]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 4], ecx
mov dword [esp], eax
call dword [edx + 0x1c]
sub esp, 8
mov esi, eax
mov eax, 0x597
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x598
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got__ld_selected_items._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov ecx, dword [ebp - 0x468]
test ecx, ecx
je 0x40a9d5
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [edx + 0x20]
sub esp, 0xc
mov esi, eax
mov eax, 0x59c
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test esi, esi
js 0x40a9d5
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x47c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
mov ecx, dword [0x43c0d0]
sub esp, 0x10
mov esi, eax
mov dword [ebp - 0x4a4], ecx
call fcn.0040c640
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x4a4]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40a9b1
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x5a1
xor eax, eax
test esi, esi
sete al
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x40a97c
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x498]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
mov esi, eax
sub esp, 4
mov eax, 0x5a9
call fcn.004014a0
test esi, esi
je 0x407212
mov edx, dword [0x43c0d0]
test edx, edx
jne 0x40ac77
cmp esi, 0x80004005
jne 0x40b160
mov dword [esp + 8], 0x80004005
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 1
call fcn.00401cd0
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 0x24]
sub esp, 4
mov esi, eax
mov eax, 0x5af
call fcn.004014a0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
jmp 0x40722e
mov dword [ebp - 0x4b0], 0xffffffff
mov eax, dword [0x42c07c]
mov dword [ebp - 0x4bc], 0xffffffff
mov dword [ebp - 0x4c0], 0xffffffff
mov edx, dword [eax]
test edx, edx
jne 0x409fc5
xor esi, esi
jmp 0x409fe4
cmp dword [ebp - 0x4a4], 0x11
jne 0x40aacf
mov ebx, 1
cmp edi, 0x11
je 0x40a1a5
cmp dword [ebp - 0x4a4], 0x12
jne 0x40aae6
mov ebx, 1
cmp edi, 0x12
je 0x40a1a5
cmp dword [ebp - 0x4a4], 0x13
sete al
xor ebx, ebx
cmp edi, 0x13
sete bl
and ebx, eax
jmp 0x40a1a5
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x52e
xor eax, eax
cmp esi, 1
mov dword [esp + 0x10], esi
sete al
mov dword [esp + 0xc], edi
mov ebx, dword [ebp - 0x4a4]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__x_x__Got_msg_count__d__expected_1_n
call fcn.00401cd0
call fcn.0040c640
mov ecx, dword [ebp - 0x4ac]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x530
mov eax, dword [0x42c040]
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.__x_x__Got_mask__x__expected__x_n
call fcn.00401cd0
call fcn.0040c640
mov ecx, dword [ebp - 0x4bc]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x533
mov eax, dword [0x42c04c]
mov dword [esp + 0x14], ecx
cmp ecx, eax
mov dword [esp + 0x10], eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.__x_x__Got_stateMask__x__expected__x_n
call fcn.00401cd0
call fcn.0040c640
mov ecx, dword [ebp - 0x4c0]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x536
mov eax, dword [0x42c048]
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.__x_x__Got_state__x__expected__x_n
call fcn.00401cd0
call fcn.0040c640
mov ecx, dword [ebp - 0x4b0]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x539
mov eax, dword [0x42c06c]
mov dword [esp + 0x14], ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
sete al
mov dword [esp + 0xc], edi
movzx eax, al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.__x_x__Got_uStateEx__x__expected__x_n
mov dword [esp], eax
call fcn.00401cd0
jmp 0x40a1fe
xor esi, esi
jmp 0x40a17c
xor ebx, ebx
jmp 0x40a104
xor esi, esi
jmp 0x40a084
mov dword [esp + 8], esi
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 0
call fcn.00401cd0
cmp esi, 0x80004005
jne 0x40722e
jmp 0x40aa41
lea eax, [ebp - 0x464]
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov eax, dword [0x42c090]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x464]
sub esp, 0x10
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x4a0]
mov edx, dword [eax]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [edx + 0x4c]
sub esp, 0xc
mov ebx, eax
mov eax, 0x67d
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
test ebx, ebx
js 0x407f10
mov eax, dword [ebp - 0x490]
lea ecx, [ebp - 0x468]
mov edx, dword [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov ebx, eax
mov eax, 0x682
call fcn.004014a0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], eax
call fcn.00401cd0
mov eax, 0x683
call fcn.004014a0
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_cmp__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x407f10
mov esi, dword [0x43c0d0]
call fcn.0040c640
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
xor ecx, ecx
test esi, esi
setne cl
lea esi, [ebp - 0x468]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x40af0d
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x484]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov dword [ebp - 0x4a4], eax
call fcn.0040c640
mov edx, dword [ebp - 0x4a4]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x66c
xor eax, eax
cmp edx, 1
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x66d
mov dword [esp + 4], str.no_cmp_value._n
mov eax, dword [ebp - 0x468]
mov dword [esp], eax
call fcn.00401cd0
mov eax, dword [ebp - 0x490]
mov edx, dword [eax]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x480]
mov dword [esp], eax
mov dword [esp + 4], ecx
call dword [edx + 0x1c]
sub esp, 0x10
mov dword [ebp - 0x4a4], eax
call fcn.0040c640
mov edx, dword [ebp - 0x4a4]
mov dword [eax], 0x411054
mov dword [eax + 4], 0x66f
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.Got_0x_08lx_n
call fcn.00401cd0
call fcn.0040c640
mov dword [eax], 0x411054
mov dword [eax + 4], 0x670
mov eax, dword [ebp - 0x468]
mov dword [esp + 4], str.Got_cmp__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401cd0
call fcn.0040c640
shr dword [eax + 0x10], 1
call fcn.0040c640
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x490]
test edx, edx
mov edx, dword [eax]
jne 0x40adf0
mov dword [esp], eax
call dword [edx + 8]
sub esp, 4
jmp 0x407ebc
mov eax, 0x633
call fcn.004014a0
mov dword [esp], str.Skipping_some_GetItemRect_tests._n
call fcn.00401ca0
jmp 0x407a45
mov eax, 0x4b7
call fcn.004014a0
mov dword [esp + 4], str.Failed_to_subclass_treeview._n
mov dword [esp], 0
call fcn.00401cd0
jmp 0x40a25e
mov dword [esp + 8], 0
mov dword [esp + 4], str.Got_0x_08lx___lx__n
mov dword [esp], 1
call fcn.00401cd0
jmp 0x407036
mov dword [ebp - 0x454], edx
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1104
call ecx
sub esp, 0x10
mov esi, eax
mov eax, 0x625
call fcn.004014a0
mov dword [esp], esi
mov dword [esp + 4], str.TVM_GETITEMRECT_failed._n
call fcn.00401cd0
lea eax, [ebp - 0x464]
mov dword [esp + 0xc], 2
mov dword [esp + 8], eax
mov eax, dword [0x42c090]
mov dword [esp], 0
mov dword [esp + 4], eax
call dword [sym.imp.user32.dll_MapWindowPoints]
mov eax, 0x629
sub esp, 0x10
call fcn.004014a0
mov eax, dword [ebp - 0x448]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x44c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x450]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x454]
mov dword [esp], str.__d__d____d__d_
mov dword [esp + 4], eax
call fcn.004014c0
mov esi, eax
mov eax, dword [ebp - 0x458]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x45c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x460]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x464]
mov dword [esp], str.__d__d____d__d_
mov dword [esp + 4], eax
call fcn.004014c0
mov ecx, dword [ebp - 0x454]
cmp dword [ebp - 0x464], ecx
je 0x40b11f
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.Differed__got__s_and__s_n
mov eax, dword [ebp - 0x4a4]
mov dword [esp], eax
call fcn.00401cd0
mov esi, dword [ebp - 0x458]
mov eax, 0x62f
sub esi, dword [ebp - 0x460]
call fcn.004014a0
mov dword [esp + 4], esi
mov dword [esp], str.height:__d_n
call fcn.00401740
jmp 0x407a47
cmp ebx, 0x80004005
jne 0x406e85
mov dword [esp + 8], 0x80004005
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 1
call fcn.00401cd0
jmp 0x406e9d
mov dword [esp + 8], 0x80004002
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 1
call fcn.00401cd0
jmp 0x4085ed
mov ecx, dword [ebp - 0x44c]
cmp dword [ebp - 0x45c], ecx
jne 0x40b088
mov ecx, dword [ebp - 0x450]
cmp dword [ebp - 0x460], ecx
jne 0x40b088
mov ecx, dword [ebp - 0x448]
cmp dword [ebp - 0x458], ecx
sete cl
movzx ecx, cl
mov dword [ebp - 0x4a4], ecx
jmp 0x40b088
mov dword [esp + 8], esi
mov dword [esp + 4], str.Got_0x_08lx_n
mov dword [esp], 0
call fcn.00401cd0
jmp 0x40722e