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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24c
mov eax, dword [0x414004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 1
push 0x8bd
mov dword [ebp - 0x1c], ecx
mov esi, edx
push 0x403848
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x88], eax
call fcn.0040facc
xor ecx, ecx
lea edi, [ebp - 0xd0]
mov eax, 0x4040b8
mov dword [ebp - 0xd4], ecx
mov dword [ebp - 0x60], eax
mov ebx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0xbc], eax
xor eax, eax
stosd dword es:[edi], eax
push 0x38
push ecx
mov dword [ebp - 0x5c], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x7c], ecx
stosd dword es:[edi], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], ecx
stosd dword es:[edi], eax
lea eax, [ebp - 0x154]
push eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x158], ecx
call sub.msvcrt.dll_memset
fldz
lea edi, [ebp - 0x12]
and dword [ebp - 0x11c], ebx
xor eax, eax
mov word [ebp - 0x14], ax
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x74], eax
stosd dword es:[edi], eax
push 0x38
push ebx
fstp qword [ebp - 0xe0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x118]
push eax
call sub.msvcrt.dll_memset
xor ecx, ecx
add esp, 0xc
mov eax, 0x8dd
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x88], ecx
jne 0x40c0f8
mov edi, dword [ebp - 0x1c]
mov word [ebp - 0x42], ax
mov eax, ecx
mov dword [ebp - 0x48], 0x80070057
mov esi, dword [ebp - 0x18]
mov dword [edi + 0x6c], 1
test eax, eax
je 0x40c086
lea eax, [edi + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test ebx, ebx
je 0x40c097
push 0
push 1
push 0xb
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push dword [ebp - 0x84]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov esi, dword [ebp - 0x48]
lea ecx, [ebp - 0xbc]
call fcn.00411683
lea ecx, [ebp - 0x80]
call fcn.00411683
lea ecx, [ebp - 0xa0]
call fcn.00411683
lea ecx, [ebp - 0x6c]
call fcn.00411683
lea ecx, [ebp - 0x60]
call fcn.00411683
lea ecx, [ebp - 0x48]
call fcn.0040fbc2
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004129cd
mov esp, ebp
pop ebp
ret 8
push 0x459
push esi
mov dword [ebp - 0x48], ecx
mov word [ebp - 0x44], ax
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jne 0x40c130
call fcn.00410d32
mov dword [ebp - 0x48], eax
mov eax, 0x8e1
mov edi, dword [ebp - 0x1c]
mov word [ebp - 0x42], ax
mov eax, dword [ebp - 0x20]
jmp 0x40c06e
and dword [ebp - 0x48], 0
mov eax, 0x8e1
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x1c]
add eax, 0x54
push eax
mov dword [ebp - 0xb0], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0
push 0
push 0xb
push ebx
mov dword [ebp - 0x20], 1
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + 0x4c]
jmp 0x40c18b
and dword [esi + 0x4c], 0
cmp dword [eax + 0x6c], 0
jne 0x40c188
lea eax, [ebp - 0x50]
mov ecx, ebx
push eax
push dword [esi + 0x18]
push esi
call fcn.00408dc4
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x40c16c
xor eax, eax
mov dword [ebp - 0x90], eax
cmp dword [ebp + 0xc], eax
jbe 0x40cc02
mov edi, dword [ebp - 0x1c]
imul ebx, eax, 0x7c
lea edx, [ebp - 0xa4]
mov esi, 0x904
add ebx, dword [ebp - 0x88]
mov ecx, dword [ebx + 0x5c]
call fcn.00411403
mov dword [ebp - 0x48], eax
test eax, eax
js 0x40cc42
mov word [ebp - 0x44], si
mov esi, dword [ebp - 0x1c]
mov edi, dword [esi + 0x4c]
jmp 0x40c1eb
mov edx, dword [ebx + 0x68]
mov ecx, dword [edi]
call fcn.00408d9c
test eax, eax
jne 0x40c311
mov edi, dword [edi + 0x54]
mov dword [ebp - 0x4c], edi
test edi, edi
jne 0x40c1d6
push 0x58
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov edi, eax
mov eax, 0x916
mov dword [ebp - 0x84], edi
test edi, edi
je 0x40cc31
and dword [ebp - 0x48], 0
push 0x58
push 0
push edi
mov word [ebp - 0x44], ax
call sub.msvcrt.dll_memset
mov edx, dword [ebx + 0x68]
lea ecx, [ebp - 0x60]
add esp, 0xc
call fcn.00411870
lea ecx, [ebp - 0x60]
call fcn.00411ed5
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x91b
js 0x40cc38
mov edx, edi
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x60]
call fcn.00412079
xor ecx, ecx
xor eax, eax
cmp dword [esi + 0x40], ecx
mov dword [edi + 0x18], ecx
sete al
mov dword [ebp - 0x84], ecx
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x4c]
mov dword [edi + 0x54], eax
lea eax, [ebp - 0x50]
push eax
mov dword [esi + 0x4c], edi
mov esi, edi
mov edi, dword [ebp - 0x24]
push ecx
push esi
mov ecx, edi
mov dword [ebp - 0x4c], esi
call fcn.00408dc4
mov dword [ebp - 0x54], 1
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
mov dword [esi + 0x4c], 1
mov edx, dword [ebx + 0x70]
mov dword [ebp - 0xac], eax
call fcn.00408d9c
test eax, eax
je 0x40c2c9
mov edx, dword [ebx + 0x74]
mov ecx, dword [esi + 0xc]
call fcn.00408d9c
test eax, eax
je 0x40c2c9
mov edx, dword [ebp - 0x54]
test edx, edx
je 0x40c40f
push dword [esi + 4]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
mov dword [esi + 4], eax
cmp dword [ebx + 0x34], eax
je 0x40c382
cmp dword [ebx + 0x2c], eax
lea eax, [ebp - 0x60]
je 0x40c35f
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push 0x493
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x14
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x963
jmp 0x40c3ce
xor eax, eax
cmp dword [esi + 0x6c], eax
push 0x18
sete al
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0xd4]
pop ecx
mov byte [eax], 0
inc eax
dec ecx
jne 0x40c325
mov edi, dword [ebp - 0x24]
lea eax, [ebp - 0xd4]
mov esi, dword [ebp - 0x4c]
push eax
push 0xffffffffffffffff
push 0x1053
push edi
mov dword [ebp - 0xd4], 1
mov dword [ebp - 0xcc], esi
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x50], eax
jmp 0x40c290
push dword [ebx + 0x70]
push 0x494
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x969
jmp 0x40c3ce
cmp dword [ebx + 0x2c], eax
lea eax, [ebp - 0x60]
je 0x40c3ad
push dword [ebx + 0x74]
push 0x495
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x972
jmp 0x40c3ce
push dword [ebx + 0x78]
push 0x494
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x979
js 0x40cc29
lea edx, [esi + 4]
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x60]
call fcn.00412079
mov eax, dword [esi + 4]
and dword [ebp - 0x204], 0
mov dword [ebp - 0x1f8], eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x50]
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebx + 8]
cmp dword [esi + 0x30], ecx
jne 0x40c42f
mov eax, dword [esi + 0x2c]
cmp eax, dword [ebx + 4]
jne 0x40c42f
mov eax, dword [esi + 0x34]
cmp eax, dword [ebx + 0x1c]
jne 0x40c42f
test edx, edx
je 0x40c7f4
cmp ecx, 1
je 0x40c6f2
cmp ecx, 2
je 0x40c6f2
mov edx, dword [ebx + 0x5c]
lea eax, [ebp - 0x94]
push eax
push ecx
push ecx
mov ecx, dword [ebp - 0xa4]
lea eax, [ebx + 0x60]
push eax
call fcn.004114b7
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9da
js 0x40cc29
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x94]
cmp eax, 3
jne 0x40c4ff
push dword [ebx + 0x58]
lea eax, [ebp - 0x80]
push 0x4ae
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9df
js 0x40cc29
cmp dword [ebx + 0x58], 0xa
push dword [ebp - 0x80]
mov word [ebp - 0x44], ax
lea eax, [ebp - 0x6c]
jbe 0x40c4dc
push 0x4aa
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9e2
jmp 0x40c610
push 0x4ac
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9e4
jmp 0x40c610
cmp dword [ebx + 0x5c], 4
jne 0x40c5d7
cmp eax, 7
jne 0x40c5d7
lea eax, [ebp - 0x70]
mov edx, ebx
push eax
call fcn.0040bc0f
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9eb
js 0x40cc29
cmp dword [ebp - 0x70], 0xffffffff
mov word [ebp - 0x44], ax
jne 0x40c55d
push 0x4a9
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9ef
jmp 0x40c610
push dword [ebp - 0x70]
lea eax, [ebp - 0x80]
push 0x4b0
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9f3
js 0x40cc29
cmp dword [ebp - 0x70], 0x1c
push dword [ebp - 0x80]
mov word [ebp - 0x44], ax
lea eax, [ebp - 0x6c]
jb 0x40c5b7
push 0x4aa
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9f6
jmp 0x40c610
push 0x4ac
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9f8
jmp 0x40c610
cmp eax, 6
je 0x40c642
cmp eax, 8
je 0x40c642
cmp eax, 7
je 0x40c642
test eax, eax
je 0x40c61f
cmp eax, 1
je 0x40c61f
push 0x4ab
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa16
js 0x40cc29
mov word [ebp - 0x44], ax
jmp 0x40c7bc
push 0x4ad
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa1b
jmp 0x40c610
cmp dword [ebx + 0x58], 0
jbe 0x40c6cc
push dword [ebx + 0x58]
lea eax, [ebp - 0x80]
push 0x4af
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa04
js 0x40cc29
cmp dword [ebx + 0x58], 0x32
push dword [ebp - 0x80]
mov word [ebp - 0x44], ax
lea eax, [ebp - 0x6c]
jae 0x40c6a9
push 0x4aa
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa07
jmp 0x40c610
push 0x4ac
push dword [0x414418]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa09
jmp 0x40c610
push 0x4ab
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa0f
jmp 0x40c610
mov eax, dword [ebx + 4]
dec eax
cmp eax, 0xb
ja case.0x40c6ff.5
jmp dword [eax*4 + 0x40ce0f]
mov eax, 0x476
jmp 0x40c769
mov eax, 0x477
jmp 0x40c727
mov eax, 0x478
jmp 0x40c727
mov eax, 0x479
jmp 0x40c727
mov eax, 0x47a
push dword [ebx + 0x1c]
push dword [ebx + 0x28]
push eax
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0x14
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9cc
jmp 0x40c610
mov eax, 0x496
jmp 0x40c769
mov eax, 0x498
jmp 0x40c769
mov eax, 0x499
jmp 0x40c769
mov eax, 0x4b3
push dword [ebx + 0x1c]
push eax
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9c8
jmp 0x40c610
push 0x497
push dword [0x414418]
lea eax, [ebp - 0x6c]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0x9c0
jmp 0x40c610
lea ecx, [ebp - 0x6c]
call fcn.00411870
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x180], eax
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0x50]
mov dword [ebp - 0x18c], 3
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebp - 0x54]
mov dword [esi + 0x34], eax
mov eax, dword [ebx + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [ebx + 0x5c]
cmp dword [esi + 0x50], eax
jne 0x40c804
test edx, edx
je 0x40c8bb
dec eax
cmp eax, 0xa
ja case.default.0x40c80a
jmp dword [eax*4 + 0x40ce3f]
mov eax, 0x49b
jmp 0x40c85c
mov eax, 0x49c
jmp 0x40c85c
mov eax, 0x49d
jmp 0x40c85c
mov eax, 0x49e
jmp 0x40c85c
mov eax, 0x49f
jmp 0x40c85c
mov eax, 0x4a0
jmp 0x40c85c
mov eax, 0x4a1
jmp 0x40c85c
mov eax, 0x4a2
jmp 0x40c85c
mov eax, 0x4a3
jmp 0x40c85c
mov eax, 0x4b4
jmp 0x40c85c
mov eax, 0x4a4
push eax
push dword [0x414418]
lea eax, [ebp - 0xbc]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa56
js 0x40cc29
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x1d0]
push eax
push dword [ebp - 0x50]
mov dword [ebp - 0x1c8], 1
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x5c]
mov edx, dword [ebp - 0x54]
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x38]
cmp eax, dword [ebx + 0x58]
jne 0x40c8ed
xor ecx, ecx
mov eax, dword [esi + ecx*4 + 0x3c]
cmp eax, dword [ebx + ecx*4 + 0x38]
jne 0x40c8ed
inc ecx
cmp ecx, 4
jne 0x40c8c5
mov eax, dword [esi + 0x30]
cmp eax, dword [ebx + 8]
jne 0x40c8ed
mov eax, dword [esi + 0x28]
cmp eax, dword [ebx + 0x60]
jne 0x40c8ed
test edx, edx
je 0x40ca68
push dword [ebp - 0x18]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
xor eax, eax
cmp dword [ebx + 8], 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x74], eax
jne 0x40c92d
push 0x47d
push dword [0x414418]
lea eax, [ebp - 0xa0]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa6c
jmp 0x40ca10
cmp dword [ebx + 8], 2
jne 0x40c95c
push 0x48f
push dword [0x414418]
lea eax, [ebp - 0xa0]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa71
jmp 0x40ca10
lea edx, [ebx + 0x38]
xor ecx, ecx
lea eax, [ebp - 0x14]
mov eax, dword [eax + ecx*4]
cmp eax, dword [edx + ecx*4]
jne 0x40c99b
inc ecx
lea eax, [ebp - 0x14]
cmp ecx, 4
jne 0x40c964
push 0x47f
push dword [0x414418]
lea eax, [ebp - 0xa0]
push eax
call fcn.00411d9b
add esp, 0xc
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa7c
jmp 0x40ca10
lea eax, [ebp - 0xe0]
push eax
push edx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
test eax, eax
mov eax, 0xa82
je 0x40cc22
fld qword [ebp - 0xe0]
and dword [ebp - 0x48], 0
push ecx
push ecx
lea ecx, [ebp - 0x74]
mov word [ebp - 0x44], ax
fstp qword [esp]
call fcn.00404fc1
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa85
js 0x40cc0d
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0x74]
push eax
push 0x47c
push dword [0x414418]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00411d9b
add esp, 0x10
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xa87
js 0x40cc29
mov word [ebp - 0x44], ax
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x248]
push eax
push dword [ebp - 0x50]
mov dword [ebp - 0x240], 2
push 0x1074
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x58]
mov edi, dword [ebp - 0x4c]
mov dword [esi + 0x38], eax
lea esi, [ebx + 0x38]
lea edi, [edi + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x60]
mov dword [esi + 0x28], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x30], eax
mov edx, dword [ebx + 0x74]
mov ecx, dword [esi + 0xc]
call fcn.00408d9c
mov edi, dword [ebp - 0x54]
test eax, eax
je 0x40ca7e
test edi, edi
je 0x40cabd
push dword [esi + 0xc]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [esi + 0xc], 0
lea ecx, [ebp - 0x60]
mov edx, dword [ebx + 0x74]
call fcn.00411870
lea ecx, [ebp - 0x60]
call fcn.00411ed5
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xaa4
js 0x40cc29
lea edx, [esi + 0xc]
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x60]
call fcn.00412079
mov esi, dword [ebp - 0xac]
mov edx, dword [ebx + 0x70]
mov ecx, dword [esi]
call fcn.00408d9c
test eax, eax
je 0x40cad5
test edi, edi
je 0x40cb15
push dword [esi]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [esi], 0
mov edx, dword [ebx + 0x70]
test edx, edx
je 0x40cb15
lea ecx, [ebp - 0x60]
call fcn.00411870
lea ecx, [ebp - 0x60]
call fcn.00411ed5
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xab5
js 0x40cc29
mov edx, esi
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x60]
call fcn.00412079
mov esi, dword [ebp - 0x4c]
mov edx, dword [ebx + 0x78]
mov ecx, dword [esi + 0x10]
call fcn.00408d9c
test eax, eax
je 0x40cb2f
test edi, edi
je 0x40cbd2
push dword [esi + 0x10]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [esi + 0x10], 0
lea ecx, [ebp - 0x60]
mov edx, dword [ebx + 0x78]
call fcn.00411870
lea ecx, [ebp - 0x60]
call fcn.00411ed5
mov dword [ebp - 0x48], eax
test eax, eax
mov eax, 0xac4
js 0x40cc29
lea edx, [esi + 0x10]
mov word [ebp - 0x44], ax
lea ecx, [ebp - 0x60]
call fcn.00412079
push ecx
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0x8c]
call fcn.00408c33
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x48], eax
test eax, eax
js 0x40cbd5
push dword [ebp - 0x8c]
push 0xffffffffffffffff
push dword [edi + 0xc4]
call dword [sym.imp.COMCTL32.dll_ImageList_ReplaceIcon]
cmp eax, 0xffffffff
je 0x40cbd5
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x158]
push eax
push 0
push 0x104c
push dword [ebp - 0x24]
mov dword [ebp - 0x158], 2
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x40cbd5
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x2c]
mov dword [ecx + 0x1c], eax
xor eax, eax
cmp dword [ebx + 0x30], eax
sete al
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x90]
inc eax
mov dword [ebp - 0x90], eax
cmp eax, dword [ebp + 0xc]
jb 0x40c1a3
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ecx + 0x4c]
jmp 0x40ccf1
mov esi, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov word [ebp - 0x42], ax
mov eax, dword [ebp - 0x20]
jmp 0x40c071
mov dword [ebp - 0x48], 0x80004005
mov ebx, dword [ebp - 0x24]
jmp 0x40c121
mov dword [ebp - 0x48], 0x8007000e
mov ebx, dword [ebp - 0x24]
mov edi, esi
jmp 0x40c124
mov ebx, dword [ebp - 0x24]
mov word [ebp - 0x42], si
jmp 0x40c128
cmp dword [esi + 0x4c], 0
jne 0x40cce8
mov edx, dword [ebp - 0xa8]
lea edi, [esi + 0x54]
mov eax, dword [edi]
test edx, edx
je 0x40cc6c
mov dword [edx + 0x54], eax
jmp 0x40cc6f
mov dword [ecx + 0x4c], eax
lea eax, [ebp - 0xd4]
mov dword [ebp - 0xd4], 1
push eax
push 0xffffffffffffffff
push 0x1053
push ebx
mov dword [ebp - 0xcc], esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
js 0x40cca7
push 0
push eax
push 0x1008
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [esi + 4]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push dword [esi]
and dword [esi + 4], 0
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push dword [esi + 0xc]
and dword [esi], 0
call dword [sym.imp.ole32.dll_CoTaskMemFree]
push dword [esi + 8]
and dword [esi + 0xc], 0
call dword [sym.imp.ole32.dll_CoTaskMemFree]
and dword [esi + 8], 0
mov esi, dword [edi]
push 0
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov ecx, dword [ebp - 0x1c]
jmp 0x40ccf1
mov dword [ebp - 0xa8], esi
mov esi, dword [esi + 0x54]
test esi, esi
jne 0x40cc4e
mov esi, dword [ebp - 0xb0]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [ebp - 0x1c]
and dword [ebp - 0x20], 0
push 0x40ea8e
push edi
push 0x1030
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
mov eax, 0xb20
jne 0x40cd34
mov dword [ebp - 0x48], 0x80004005
jmp 0x40c124
and dword [ebp - 0x48], 0
push esi
mov word [ebp - 0x44], ax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x6c], ecx
jne 0x40c06e
cmp dword [edi + 0x74], ecx
jne 0x40c06e
push 0x10
push 0xffffffffffffffff
push 0x100c
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
mov esi, eax
test esi, esi
js 0x40c128
push 3
pop eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x11c]
push eax
push 0
push 0x104c
push ebx
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x11c], 8
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40c128
push 0x3c
pop ecx
lea eax, [ebp - 0x11c]
mov byte [eax], 0
inc eax
dec ecx
jne 0x40cdbc
lea eax, [ebp - 0x11c]
mov dword [ebp - 0x11c], 4
push eax
push ecx
push 0x104b
push ebx
mov dword [ebp - 0x118], esi
call dword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
je 0x40c128
mov eax, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x18]
test eax, eax
je 0x40cc1a
mov dword [eax + 0x18], 1
jmp 0x40cc1a