Function at 0x407d20
Capabilities:
Capture webcam image
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x460b25
mov eax, dword fs:[0]
push eax
sub esp, 0x308
push ebx
push ebp
push esi
push edi
mov eax, dword [0x481e98]
xor eax, esp
push eax
lea eax, [esp + 0x31c]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x20], esi
xor ebp, ebp
push ebp
push ebp
mov dword [esp + 0x20], ebp
mov eax, dword [esi + 0x9c]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x1009
push eax
call edi
call fcn.0043239f
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
jne 0x407d89
push 0x80004005
call fcn.00401050
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x28], eax
lea ecx, [esp + 0x28]
push str.select_a._b._from_plan_a__select_planid__count___as_num_from_keyword_group_by_planid__b_where_a.id_b.planid__order_by_a.id
push ecx
mov dword [esp + 0x32c], ebp
call fcn.00401ce0
add esp, 8
mov dword [esp + 0x14], ebp
push ebp
lea ecx, [esp + 0x104]
mov byte [esp + 0x328], 1
call fcn.00401d00
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov byte [esp + 0x324], 2
je 0x407de3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], ebp
mov eax, 1
sub eax, dword [ecx - 4]
mov ecx, dword [ecx - 8]
or ecx, eax
jge 0x407e04
push ebp
lea ecx, [esp + 0x2c]
call fcn.00401440
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x108]
call fcn.00401700
test eax, eax
jne 0x409589
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x407e38
push 0x80004003
call fcn.0045eff0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
lea edx, [esp + 0x24]
push edx
mov esi, eax
push eax
mov eax, dword [ecx + 0x50]
mov dword [esp + 0x2c], ebp
call eax
cmp eax, ebp
jge 0x407e5b
push 0x467728
push esi
push eax
call fcn.0045f000
cmp word [esp + 0x24], bp
jne 0x40954c
mov ecx, dword [esp + 0x20]
push 0x413
call fcn.0042fe70
push str.planname
mov edi, eax
mov word [esp + 0x190], 8
call fcn.0045f080
mov dword [esp + 0x194], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 3
jne 0x407ea9
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x18c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x220]
push edx
call fcn.00402680
mov ecx, dword [eax]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x21c]
push eax
mov dword [esp + 0x3c], edx
call esi
lea ecx, [esp + 0x18c]
push ecx
mov byte [esp + 0x328], 2
call esi
cmp word [esp + 0x2c], 1
je 0x4080cf
lea edx, [esp + 0xc0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0xc4]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x407f36
push eax
call fcn.0045eff0
lea edx, [esp + 0xc0]
push edx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x328], 4
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 5
je 0x407f72
cmp dword [esi + 4], ebp
jne 0x407f6d
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x407f74
xor esi, esi
mov ecx, dword [edi + 0x20]
push esi
push 0xffffffffffffffff
push 0x14c
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
mov eax, dword [esp + 0x58]
sete bl
cmp eax, ebp
je 0x407fd2
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x407fce
cmp esi, ebp
je 0x407fce
mov eax, dword [esi]
cmp eax, ebp
je 0x407fb5
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x407fc5
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x58], ebp
lea edx, [esp + 0xc0]
push edx
mov byte [esp + 0x328], 2
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test bl, bl
je 0x4080cf
lea eax, [esp + 0x1ac]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x1b0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x40801b
push eax
call fcn.0045eff0
lea eax, [esp + 0x1ac]
push eax
lea ecx, [esp + 0x90]
mov byte [esp + 0x328], 6
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 7
je 0x40805a
cmp dword [esi + 4], ebp
jne 0x408055
mov ecx, dword [esi]
push ecx
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x40805c
xor esi, esi
mov edx, dword [edi + 0x20]
push esi
push ebp
push 0x143
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x8c]
cmp eax, ebp
je 0x4080b9
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4080b2
cmp esi, ebp
je 0x4080b2
mov eax, dword [esi]
cmp eax, ebp
je 0x408099
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4080a9
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x8c], ebp
lea eax, [esp + 0x1ac]
push eax
mov byte [esp + 0x328], 2
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
call fcn.0043239f
xor ecx, ecx
cmp eax, ebp
setne cl
cmp ecx, ebp
je 0x407d7f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 0x9c]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push ebp
push ebp
push 0x1004
push ecx
mov byte [esp + 0x334], 8
call edi
add eax, 1
push eax
lea edx, [esp + 0x28]
push 0x4691e0
push edx
call fcn.00401ce0
mov eax, dword [esi + 0x9c]
add esp, 0xc
push ebp
push ebp
push 0x1004
push eax
call edi
mov edx, dword [esp + 0x24]
push ebp
push ebp
push ebp
push ebp
push edx
push eax
lea ecx, [esi + 0x7c]
push 1
call fcn.004335e2
push 0x43a
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.0042fe70
push str.myww
mov edi, eax
mov word [esp + 0xe4], 8
call fcn.0045f080
mov dword [esp + 0xe8], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 9
jne 0x408194
push 0x80004003
call fcn.0045eff0
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x240]
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00402680
mov edx, dword [eax]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [esp + 0x2c], edx
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [eax + 8]
mov dword [esp + 0x34], edx
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x23c]
push ecx
mov dword [esp + 0x3c], eax
call esi
lea edx, [esp + 0xe0]
push edx
mov byte [esp + 0x328], 8
call esi
cmp word [esp + 0x2c], 1
je 0x4084db
lea eax, [esp + 0x90]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x94]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x408221
push eax
call fcn.0045eff0
or dword [esp + 0x18], 1
lea eax, [esp + 0x90]
push eax
lea ecx, [esp + 0x4c]
mov byte [esp + 0x328], 0xa
call fcn.00402e50
mov esi, dword [eax]
or dword [esp + 0x18], 2
cmp esi, ebp
mov dword [esp + 0x324], 0xb
je 0x40826a
cmp dword [esi + 4], ebp
jne 0x408265
mov ecx, dword [esi]
push ecx
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x40826c
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x40830f
lea edx, [esp + 0x1cc]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x1d0]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x4082a6
push eax
call fcn.0045eff0
or dword [esp + 0x18], 4
lea edx, [esp + 0x1cc]
push edx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x328], 0xc
call fcn.00402e50
mov esi, dword [eax]
or dword [esp + 0x18], 8
cmp esi, ebp
mov dword [esp + 0x324], 0xd
je 0x4082f2
cmp dword [esi + 4], ebp
jne 0x4082ed
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x4082f4
xor esi, esi
mov ecx, dword [edi + 0x20]
push esi
push 0xffffffffffffffff
push 0x14c
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x40830f
mov bl, 1
jmp 0x408311
xor bl, bl
test byte [esp + 0x18], 8
je 0x408363
mov eax, dword [esp + 0x68]
and dword [esp + 0x18], 0xfffffff7
cmp eax, ebp
je 0x408363
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x40835f
cmp esi, ebp
je 0x40835f
mov eax, dword [esi]
cmp eax, ebp
je 0x408346
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408356
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x68], ebp
test byte [esp + 0x18], 4
je 0x40837d
and dword [esp + 0x18], 0xfffffffb
lea edx, [esp + 0x1cc]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test byte [esp + 0x18], 2
je 0x4083cf
mov eax, dword [esp + 0x48]
and dword [esp + 0x18], 0xfffffffd
cmp eax, ebp
je 0x4083cf
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4083cb
cmp esi, ebp
je 0x4083cb
mov eax, dword [esi]
cmp eax, ebp
je 0x4083b2
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4083c2
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x48], ebp
test byte [esp + 0x18], 1
mov dword [esp + 0x324], 8
je 0x4083f4
and dword [esp + 0x18], 0xfffffffe
lea eax, [esp + 0x90]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test bl, bl
je 0x4084db
lea ecx, [esp + 0x1ec]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x1f0]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x408427
push eax
call fcn.0045eff0
lea ecx, [esp + 0x1ec]
push ecx
lea ecx, [esp + 0x8c]
mov byte [esp + 0x328], 0xe
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0xf
je 0x408466
cmp dword [esi + 4], ebp
jne 0x408461
mov edx, dword [esi]
push edx
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408468
xor esi, esi
mov eax, dword [edi + 0x20]
push esi
push ebp
push 0x143
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x88]
cmp eax, ebp
je 0x4084c5
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4084be
cmp esi, ebp
je 0x4084be
mov eax, dword [esi]
cmp eax, ebp
je 0x4084a5
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4084b5
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x88], ebp
lea ecx, [esp + 0x1ec]
push ecx
mov byte [esp + 0x328], 8
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov ecx, dword [esp + 0x20]
push 0x43b
call fcn.0042fe70
push str.mybb
mov edi, eax
mov word [esp + 0x120], 8
call fcn.0045f080
mov dword [esp + 0x124], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x10
jne 0x40851e
push 0x80004003
call fcn.0045eff0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + 0x2e0]
push eax
call fcn.00402680
mov ecx, dword [eax]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x34], ecx
mov edx, dword [eax + 0xc]
lea eax, [esp + 0x2dc]
push eax
mov dword [esp + 0x3c], edx
call esi
lea ecx, [esp + 0x11c]
push ecx
mov byte [esp + 0x328], 8
call esi
cmp word [esp + 0x2c], 1
je 0x408862
lea edx, [esp + 0x13c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x140]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x4085ab
push eax
call fcn.0045eff0
or dword [esp + 0x18], 0x10
lea edx, [esp + 0x13c]
push edx
lea ecx, [esp + 0x74]
mov byte [esp + 0x328], 0x11
call fcn.00402e50
mov esi, dword [eax]
or dword [esp + 0x18], 0x20
cmp esi, ebp
mov dword [esp + 0x324], 0x12
je 0x4085f4
cmp dword [esi + 4], ebp
jne 0x4085ef
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x4085f6
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
jle 0x40869c
lea ecx, [esp + 0x20c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x210]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x408630
push eax
call fcn.0045eff0
or dword [esp + 0x18], 0x40
lea ecx, [esp + 0x20c]
push ecx
lea ecx, [esp + 0x54]
mov dword [esp + 0x328], 0x13
call fcn.00402e50
mov esi, dword [eax]
or dword [esp + 0x18], 0x80
cmp esi, ebp
mov dword [esp + 0x324], 0x14
je 0x40867f
cmp dword [esi + 4], ebp
jne 0x40867a
mov edx, dword [esi]
push edx
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408681
xor esi, esi
mov eax, dword [edi + 0x20]
push esi
push 0xffffffffffffffff
push 0x14c
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x40869c
mov bl, 1
jmp 0x40869e
xor bl, bl
test byte [esp + 0x18], 0x80
je 0x4086f3
mov eax, dword [esp + 0x50]
and dword [esp + 0x18], 0xffffff7f
cmp eax, ebp
je 0x4086f3
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4086ef
cmp esi, ebp
je 0x4086ef
mov eax, dword [esi]
cmp eax, ebp
je 0x4086d6
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4086e6
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x50], ebp
test byte [esp + 0x18], 0x40
je 0x40870d
and dword [esp + 0x18], 0xffffffbf
lea ecx, [esp + 0x20c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test byte [esp + 0x18], 0x20
je 0x40875f
mov eax, dword [esp + 0x70]
and dword [esp + 0x18], 0xffffffdf
cmp eax, ebp
je 0x40875f
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x40875b
cmp esi, ebp
je 0x40875b
mov eax, dword [esi]
cmp eax, ebp
je 0x408742
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408752
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x70], ebp
test byte [esp + 0x18], 0x10
mov dword [esp + 0x324], 8
je 0x408784
and dword [esp + 0x18], 0xffffffef
lea edx, [esp + 0x13c]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
test bl, bl
je 0x408862
lea eax, [esp + 0x1dc]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x1e0]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopyInd]
cmp eax, ebp
jge 0x4087b7
push eax
call fcn.0045eff0
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x328], 0x15
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x16
je 0x4087f3
cmp dword [esi + 4], ebp
jne 0x4087ee
mov ecx, dword [esi]
push ecx
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x4087f5
xor esi, esi
mov edx, dword [edi + 0x20]
push esi
push ebp
push 0x143
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [esp + 0x3c]
cmp eax, ebp
je 0x40884c
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408848
cmp esi, ebp
je 0x408848
mov eax, dword [esi]
cmp eax, ebp
je 0x40882f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x40883f
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x3c], ebp
lea eax, [esp + 0x1dc]
push eax
mov byte [esp + 0x328], 8
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
push str.planname
mov word [esp + 0x160], 8
call fcn.0045f080
mov dword [esp + 0x164], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x17
jne 0x408895
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x15c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x260]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x328], 0x18
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x19
je 0x4088e6
cmp dword [esi + 4], ebp
jne 0x4088e1
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x4088e8
xor esi, esi
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
push esi
push 1
push ecx
add ebx, 0x7c
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x80]
cmp eax, ebp
je 0x40894a
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408943
cmp esi, ebp
je 0x408943
mov eax, dword [esi]
cmp eax, ebp
je 0x40892a
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x40893a
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x80], ebp
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edx, [esp + 0x25c]
push edx
call edi
lea eax, [esp + 0x15c]
push eax
mov byte [esp + 0x328], 8
call edi
push str.type
mov word [esp + 0x1c0], 8
call fcn.0045f080
mov dword [esp + 0x1c4], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x1a
jne 0x40899f
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x1bc]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2c0]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x328], 0x1b
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x1c
je 0x4089ed
cmp dword [esi + 4], ebp
jne 0x4089e8
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x4089ef
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 2
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x60]
cmp eax, ebp
je 0x408a44
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408a40
cmp esi, ebp
je 0x408a40
mov eax, dword [esi]
cmp eax, ebp
je 0x408a27
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408a37
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x60], ebp
lea edx, [esp + 0x2bc]
push edx
call edi
lea eax, [esp + 0x1bc]
push eax
mov byte [esp + 0x328], 8
call edi
push str.source
mov word [esp + 0x180], 8
call fcn.0045f080
mov dword [esp + 0x184], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x1d
jne 0x408a93
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x17c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x280]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x328], 0x1e
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x1f
je 0x408ae1
cmp dword [esi + 4], ebp
jne 0x408adc
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408ae3
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 3
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x78]
cmp eax, ebp
je 0x408b38
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408b34
cmp esi, ebp
je 0x408b34
mov eax, dword [esi]
cmp eax, ebp
je 0x408b1b
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408b2b
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x78], ebp
lea edx, [esp + 0x27c]
push edx
call edi
lea eax, [esp + 0x17c]
push eax
mov byte [esp + 0x328], 8
call edi
push str.kind
mov word [esp + 0x200], 8
call fcn.0045f080
mov dword [esp + 0x204], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x20
jne 0x408b87
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x1fc]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x300]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x328], 0x21
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x22
je 0x408bd5
cmp dword [esi + 4], ebp
jne 0x408bd0
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408bd7
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 4
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x40]
cmp eax, ebp
je 0x408c2c
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408c28
cmp esi, ebp
je 0x408c28
mov eax, dword [esi]
cmp eax, ebp
je 0x408c0f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408c1f
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x40], ebp
lea edx, [esp + 0x2fc]
push edx
call edi
lea eax, [esp + 0x1fc]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x4691c4
mov word [esp + 0x1a0], 8
call fcn.0045f080
mov dword [esp + 0x1a4], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x23
jne 0x408c7b
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x19c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2a0]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x328], 0x24
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x25
je 0x408cc9
cmp dword [esi + 4], ebp
jne 0x408cc4
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408ccb
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 5
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x44]
cmp eax, ebp
je 0x408d20
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408d1c
cmp esi, ebp
je 0x408d1c
mov eax, dword [esi]
cmp eax, ebp
je 0x408d03
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408d13
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x44], ebp
lea edx, [esp + 0x29c]
push edx
call edi
lea eax, [esp + 0x19c]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x469154
mov word [esp + 0x130], 8
call fcn.0045f080
mov dword [esp + 0x134], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x26
jne 0x408d6f
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x12c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x230]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x50]
mov byte [esp + 0x328], 0x27
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x28
je 0x408dbd
cmp dword [esi + 4], ebp
jne 0x408db8
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408dbf
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 6
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x4c]
cmp eax, ebp
je 0x408e14
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408e10
cmp esi, ebp
je 0x408e10
mov eax, dword [esi]
cmp eax, ebp
je 0x408df7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408e07
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x4c], ebp
lea edx, [esp + 0x22c]
push edx
call edi
lea eax, [esp + 0x12c]
push eax
mov byte [esp + 0x328], 8
call edi
push str.myww
mov word [esp + 0x150], 8
call fcn.0045f080
mov dword [esp + 0x154], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x29
jne 0x408e63
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x14c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x250]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x328], 0x2a
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x2b
je 0x408eb1
cmp dword [esi + 4], ebp
jne 0x408eac
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408eb3
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 7
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x54]
cmp eax, ebp
je 0x408f08
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408f04
cmp esi, ebp
je 0x408f04
mov eax, dword [esi]
cmp eax, ebp
je 0x408eeb
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408efb
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x54], ebp
lea edx, [esp + 0x24c]
push edx
call edi
lea eax, [esp + 0x14c]
push eax
mov byte [esp + 0x328], 8
call edi
push str.mybb
mov word [esp + 0x170], 8
call fcn.0045f080
mov dword [esp + 0x174], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x2c
jne 0x408f57
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x16c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x270]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x60]
mov byte [esp + 0x328], 0x2d
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x2e
je 0x408fa5
cmp dword [esi + 4], ebp
jne 0x408fa0
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x408fa7
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 8
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x5c]
cmp eax, ebp
je 0x408ffc
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x408ff8
cmp esi, ebp
je 0x408ff8
mov eax, dword [esi]
cmp eax, ebp
je 0x408fdf
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x408fef
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x5c], ebp
lea edx, [esp + 0x26c]
push edx
call edi
lea eax, [esp + 0x16c]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x469140
mov word [esp + 0xa4], 8
call fcn.0045f080
mov dword [esp + 0xa8], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x2f
jne 0x40904b
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x290]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x328], 0x30
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x31
je 0x409099
cmp dword [esi + 4], ebp
jne 0x409094
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x40909b
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 9
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x64]
cmp eax, ebp
je 0x4090f0
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4090ec
cmp esi, ebp
je 0x4090ec
mov eax, dword [esi]
cmp eax, ebp
je 0x4090d3
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4090e3
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x64], ebp
lea edx, [esp + 0x28c]
push edx
call edi
lea eax, [esp + 0xa0]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x46913c
mov word [esp + 0xb4], 8
call fcn.0045f080
mov dword [esp + 0xb8], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x32
jne 0x40913f
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2b0]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0x328], 0x33
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x34
je 0x40918d
cmp dword [esi + 4], ebp
jne 0x409188
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x40918f
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 0xa
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x6c]
cmp eax, ebp
je 0x4091e4
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4091e0
cmp esi, ebp
je 0x4091e0
mov eax, dword [esi]
cmp eax, ebp
je 0x4091c7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4091d7
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x6c], ebp
lea edx, [esp + 0x2ac]
push edx
call edi
lea eax, [esp + 0xb0]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x469138
mov word [esp + 0xd4], 8
call fcn.0045f080
mov dword [esp + 0xd8], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x35
jne 0x409233
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2d0]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x328], 0x36
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x37
je 0x409281
cmp dword [esi + 4], ebp
jne 0x40927c
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x409283
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 0xb
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x74]
cmp eax, ebp
je 0x4092d8
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4092d4
cmp esi, ebp
je 0x4092d4
mov eax, dword [esi]
cmp eax, ebp
je 0x4092bb
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4092cb
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x74], ebp
lea edx, [esp + 0x2cc]
push edx
call edi
lea eax, [esp + 0xd0]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x469134
mov word [esp + 0xf4], 8
call fcn.0045f080
mov dword [esp + 0xf8], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x38
jne 0x409327
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0xf0]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x2f0]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x328], 0x39
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x3a
je 0x409378
cmp dword [esi + 4], ebp
jne 0x409373
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x40937a
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 0xc
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x7c]
cmp eax, ebp
je 0x4093cf
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4093cb
cmp esi, ebp
je 0x4093cb
mov eax, dword [esi]
cmp eax, ebp
je 0x4093b2
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4093c2
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x7c], ebp
lea edx, [esp + 0x2ec]
push edx
call edi
lea eax, [esp + 0xf0]
push eax
mov byte [esp + 0x328], 8
call edi
push 0x469130
mov word [esp + 0x110], 8
call fcn.0045f080
mov dword [esp + 0x114], eax
cmp dword [esp + 0x14], ebp
mov byte [esp + 0x324], 0x3b
jne 0x40941e
push 0x80004003
call fcn.0045eff0
lea ecx, [esp + 0x10c]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x310]
push edx
call fcn.00402680
push eax
lea ecx, [esp + 0x88]
mov byte [esp + 0x328], 0x3c
call fcn.00402e50
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x324], 0x3d
je 0x40946f
cmp dword [esi + 4], ebp
jne 0x40946a
mov eax, dword [esi]
push eax
call fcn.0045f210
mov dword [esi + 4], eax
mov esi, dword [esi + 4]
jmp 0x409471
xor esi, esi
mov ecx, dword [esp + 0x1c]
push esi
push 0xd
push ecx
mov ecx, ebx
call fcn.00433349
mov eax, dword [esp + 0x84]
cmp eax, ebp
je 0x4094cc
mov esi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebp
jne 0x4094c5
cmp esi, ebp
je 0x4094c5
mov eax, dword [esi]
cmp eax, ebp
je 0x4094ac
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebp
je 0x4094bc
push eax
call fcn.0042a3e5
add esp, 4
push esi
call fcn.0042a3e5
add esp, 4
mov dword [esp + 0x84], ebp
lea edx, [esp + 0x30c]
push edx
call edi
lea eax, [esp + 0x10c]
push eax
mov byte [esp + 0x328], 8
call edi
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x4094fe
push 0x80004003
call fcn.0045eff0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x90]
push eax
mov esi, eax
call edx
cmp eax, ebp
jge 0x40951b
push 0x467728
push esi
push eax
call fcn.0045f000
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x324], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407e22
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x407e22
mov eax, dword [esp + 0x14]
cmp eax, ebp
jne 0x409562
push 0x80004003
call fcn.0045eff0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x80]
push eax
mov esi, eax
call edx
cmp eax, ebp
jge 0x40957f
push 0x467728
push esi
push eax
call fcn.0045f000
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [esp + 0x20]
push 0x41f
mov ecx, esi
call fcn.0042fe70
mov eax, dword [eax + 0x20]
push ebp
push ebp
push 0xf0
push eax
call edi
test eax, eax
jne 0x4095dd
push 0x428
mov ecx, esi
call fcn.0042fe70
mov ecx, dword [eax + 0x20]
push ebp
push ebp
push 0xf0
push ecx
call edi
test eax, eax
jne 0x4095dd
push 0x41f
mov ecx, esi
call fcn.0042fe70
mov edx, dword [eax + 0x20]
push ebp
push 1
push 0xf1
push edx
call edi
push 1
push 0x43a
mov ecx, esi
call fcn.0042fe70
mov ecx, eax
call fcn.00430048
push ebp
push 0x43b
mov ecx, esi
call fcn.0042fe70
mov ecx, eax
call fcn.00430048
push 0x418
mov ecx, esi
call fcn.0042fe70
mov eax, dword [eax + 0x20]
push ebp
push ebp
push 0x14e
push eax
call edi
push 0x419
mov ecx, esi
call fcn.0042fe70
mov ecx, dword [eax + 0x20]
push ebp
push ebp
push 0x14e
push ecx
call edi
push 0x41a
mov ecx, esi
call fcn.0042fe70
mov edx, dword [eax + 0x20]
push ebp
push ebp
push 0x14e
push edx
call edi
lea ecx, [esp + 0x100]
mov byte [esp + 0x324], 1
call fcn.00401490
mov eax, dword [esp + 0x14]
cmp eax, ebp
mov byte [esp + 0x324], 0
je 0x40967d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x324], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4096a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [esp + 0x31c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x314
ret