Function at 0x40cab0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5852fc
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x6606f4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 8]
push eax
push 0x87
call fcn.0043bf20
xor ebx, ebx
mov dword [esi], vtable.CDlgFactoryTest.0
mov dword [ebp - 4], ebx
mov dword [esi + 0xd8], ebx
mov dword [esi + 0xdc], ebx
mov dword [esi + 0xe0], ebx
mov byte [ebp - 4], 1
mov dword [esi + 0xfc], ebx
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cb2a
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x120], eax
mov byte [ebp - 4], 2
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cb5a
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x124], eax
mov dword [esi + 0x1a8], ebx
mov dword [esi + method.CFont.virtual_0], vtable.CFont.0
mov dword [esi + 0x1ac], ebx
mov dword [esi + 0x1b0], ebx
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b8], ebx
mov byte [ebp - 4], 4
mov dword [esi + 0x1bc], ebx
mov dword [esi + 0x1c0], ebx
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x1c8], ebx
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cbca
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1cc], eax
mov byte [ebp - 4], 5
lea edi, [esi + 0x1d0]
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cc00
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [edi], eax
mov byte [ebp - 4], 6
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cc2c
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1d4], eax
mov byte [ebp - 4], 7
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cc5c
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1d8], eax
mov byte [ebp - 4], 8
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40cc8c
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1dc], eax
mov byte [ebp - 4], 9
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40ccbc
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1e0], eax
mov byte [ebp - 4], 0xa
call fcn.0046ef71
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x40ccec
push 0x80004005
call fcn.00401010
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi + 0x1e4], eax
mov dword [esi + 0x1e8], ebx
mov dword [esi + 0x1ec], ebx
mov dword [esi + 0x1f0], ebx
mov dword [esi + 0x1f8], ebx
mov dword [esi + 0x1fc], ebx
mov dword [esi + 0x200], ebx
mov dword [esi + 0x208], ebx
mov dword [esi + 0x20c], ebx
mov dword [esi + 0x210], ebx
mov dword [esi + 0x218], ebx
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x220], ebx
mov dword [esi + 0x228], ebx
mov dword [esi + 0x22c], ebx
mov dword [esi + 0x230], ebx
mov dword [esi + 0x238], ebx
mov dword [esi + 0x23c], ebx
mov dword [esi + 0x240], ebx
mov dword [esi + 0x248], ebx
mov dword [esi + 0x24c], ebx
mov dword [esi + 0x250], ebx
mov dword [esi + 0x258], ebx
mov dword [esi + 0x25c], ebx
mov dword [esi + 0x260], ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [esi + 0x268]
mov byte [ebp - 4], 0x13
call fcn.00437a70
push ebx
push ebx
push ebx
push ebx
lea ecx, [esi + 0x714]
mov byte [ebp - 4], 0x14
call fcn.00437a70
push ebx
push ebx
push ebx
push ebx
lea ecx, [esi + 0xbc0]
mov byte [ebp - 4], 0x15
call fcn.00437a70
lea ecx, [esi + 0x106c]
mov byte [ebp - 4], 0x16
call fcn.00444b90
lea ecx, [esi + 0x1100]
mov byte [ebp - 4], 0x17
call fcn.00444b90
lea ecx, [esi + 0x1194]
mov byte [ebp - 4], 0x18
call fcn.00444b90
lea ecx, [esi + 0x1228]
mov byte [ebp - 4], 0x19
call fcn.0043af40
mov byte [ebp - 4], 0x1a
lea ecx, [esi + 0x1404]
call fcn.0043fc70
lea ecx, [esi + 0x1498]
mov byte [ebp - 4], 0x1b
call fcn.00440410
lea ecx, [esi + 0x1668]
mov byte [ebp - 4], 0x1c
call fcn.00444b90
lea ecx, [esi + 0x16fc]
mov byte [ebp - 4], 0x1d
call fcn.00444b90
lea ecx, [esi + 0x1790]
mov byte [ebp - 4], 0x1e
call fcn.0043cbb0
lea ecx, [esi + 0x1844]
mov byte [ebp - 4], 0x1f
call fcn.004398c0
lea ecx, [esi + 0x1a18]
mov byte [ebp - 4], 0x20
call fcn.004398c0
lea ecx, [esi + 0x1bec]
mov byte [ebp - 4], 0x21
call fcn.00440410
lea ecx, [esi + 0x1dbc]
mov byte [ebp - 4], 0x22
call fcn.00440410
lea ecx, [esi + 0x1f8c]
mov byte [ebp - 4], 0x23
call fcn.00440410
lea ecx, [esi + 0x215c]
mov byte [ebp - 4], 0x24
call fcn.004398c0
lea ecx, [esi + 0x2330]
mov byte [ebp - 4], 0x25
call fcn.00440410
lea ecx, [esi + 0x2500]
mov byte [ebp - 4], 0x26
call fcn.00445400
lea ecx, [esi + 0x26ec]
mov byte [ebp - 4], 0x27
call fcn.00445400
lea ecx, [esi + 0x28d8]
mov byte [ebp - 4], 0x28
call fcn.0043cbb0
push ebx
push ebx
push ebx
push ebx
lea ecx, [esi + 0x298c]
mov byte [ebp - 4], 0x29
call fcn.00437a70
push 0x661d0c
mov byte [ebp - 4], 0x2a
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x661e1c], ebx
mov eax, 0xa
mov dword [esi + 0x2e38], 0xffffffff
mov dword [esi + 0xe8], ebx
mov dword [esi + 0xec], ebx
mov dword [esi + 0xf0], ebx
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xd4], ebx
mov dword [esi + 0x100], 1
mov dword [esi + 0x104], eax
mov dword [esi + 0x108], eax
mov dword [esi + 0x10c], 3
push ebx
push 0x598ff8
mov ecx, edi
mov dword [esi + 0x110], ebx
mov word [esi + 0xf8], 0x7f
mov dword [esi + 0x114], ebx
mov dword [esi + 0x118], ebx
call fcn.004016b0
push edi
lea edi, [esi + 0x124]
mov ecx, edi
call fcn.00402290
push edi
lea ecx, [esi + 0x1d8]
call fcn.00402290
push ebx
lea edi, [esi + 0x1cc]
push 0x598ff8
mov ecx, edi
call fcn.004016b0
push edi
lea ecx, [esi + 0x1d4]
call fcn.00402290
push 0x72
call fcn.0046ee85
cmp eax, ebx
je 0x40cfd3
push 0x72
push eax
lea ecx, [esi + 0x1dc]
call fcn.004015f0
push 0xf1
call fcn.0046ee85
cmp eax, ebx
je 0x40cff2
push 0xf1
push eax
lea ecx, [esi + 0x1e0]
call fcn.004015f0
push 0xf2
call fcn.0046ee85
cmp eax, ebx
je 0x40d011
push 0xf2
push eax
lea ecx, [esi + 0x1e4]
call fcn.004015f0
mov edi, dword [sym.imp.USER32.dll_SetRect]
push ebx
push ebx
push ebx
push ebx
lea eax, [esi + 0x1ac]
push eax
mov dword [esi + 0x128], 0xffffffff
call edi
push ebx
push ebx
push ebx
push ebx
lea eax, [esi + 0x1bc]
push eax
call edi
lea edi, [esi + 0x168]
push 0x599764
lea ecx, [ebp + 8]
mov dword [edi], 0xfffffff5
mov dword [esi + 0x174], ebx
mov dword [esi + 0x180], ebx
mov dword [esi + 0x17c], 0x1000000
mov dword [esi + 0x178], 0x190
mov dword [esi + 0x16c], 7
mov dword [esi + 0x170], 0xa8c
call fcn.00401870
push 0xf
push str.Microsoft_YaHei
lea ecx, [ebp + 8]
mov byte [ebp - 4], 0x2b
call fcn.00401f80
mov ecx, dword [ebp + 8]
push ecx
lea edx, [esi + 0x184]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push edi
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
lea ecx, [esi + 0x1a4]
call fcn.0047a6b2
push str.Microsoft_YaHei
lea edi, [esi + 0x148]
push edi
mov dword [esi + 0x134], ebx
mov dword [esi + 0x12c], 0xfffffff4
mov dword [esi + 0x138], ebx
mov dword [esi + 0x144], ebx
mov dword [esi + 0x140], 0x1000000
mov dword [esi + 0x13c], 0x190
mov dword [esi + 0x130], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
cmp dword [0x66221c], ebx
je 0x40d151
push str.Microsoft_YaHei
push edi
mov dword [esi + 0x134], ebx
mov dword [esi + 0x12c], 0xfffffff7
mov dword [esi + 0x138], ebx
mov dword [esi + 0x144], 0x60000
mov dword [esi + 0x140], ebx
mov dword [esi + 0x13c], 0x1f4
mov dword [esi + 0x130], ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0xf
push str.Microsoft_YaHei
lea ecx, [esi + 0x120]
call fcn.004016b0
mov eax, dword [0x66221c]
neg eax
sbb eax, eax
and eax, 3
add eax, 0xfffffff4
mov dword [esi + 0x11c], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov byte [ebp - 4], 0x2a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40d19b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4