Function at 0x40c930
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x56c307
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x5d480c]
xor eax, esp
push eax
lea eax, [esp + 0x14]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x10], esi
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea edi, [esi + 0x3440]
lea eax, [edi + 8]
push eax
mov dword [esp + 0x20], 0x54
mov dword [edi], vtable.CCriticalSection.0
call ebx
mov ecx, edi
call fcn.00462fbb
lea edi, [esi + 0x3420]
lea ecx, [edi + 8]
push ecx
mov byte [esp + 0x20], 0x53
mov dword [edi], vtable.CCriticalSection.0
call ebx
mov ecx, edi
call fcn.00462fbb
lea ecx, [esi + 0x33b8]
mov byte [esp + 0x1c], 0x52
call fcn.0045d2be
mov eax, dword [esi + 0x33b0]
sub eax, 0x10
mov byte [esp + 0x1c], 0x51
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x40c9d6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x33ac]
sub eax, 0x10
mov byte [esp + 0x1c], 0x50
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40c9fd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x33a0]
sub eax, 0x10
mov byte [esp + 0x1c], 0x4f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ca24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x339c]
sub eax, 0x10
mov byte [esp + 0x1c], 0x4e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ca4b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3398]
sub eax, 0x10
mov byte [esp + 0x1c], 0x4d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ca72
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3394]
sub eax, 0x10
mov byte [esp + 0x1c], 0x4c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ca99
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3390]
sub eax, 0x10
mov byte [esp + 0x1c], 0x4b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cac0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x338c]
sub eax, 0x10
mov byte [esp + 0x1c], 0x4a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cae7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3388]
sub eax, 0x10
mov byte [esp + 0x1c], 0x49
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cb0e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3384]
sub eax, 0x10
mov byte [esp + 0x1c], 0x48
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cb35
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3380]
sub eax, 0x10
mov byte [esp + 0x1c], 0x47
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cb5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x337c]
sub eax, 0x10
mov byte [esp + 0x1c], 0x46
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cb83
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3378]
sub eax, 0x10
mov byte [esp + 0x1c], 0x45
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cbaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3374]
sub eax, 0x10
mov byte [esp + 0x1c], 0x44
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cbd1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3370]
sub eax, 0x10
mov byte [esp + 0x1c], 0x43
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cbf8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x336c]
sub eax, 0x10
mov byte [esp + 0x1c], 0x42
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cc1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3368]
sub eax, 0x10
mov byte [esp + 0x1c], 0x41
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cc46
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3364]
sub eax, 0x10
mov byte [esp + 0x1c], 0x40
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cc6d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x335c]
mov byte [esp + 0x1c], 0x3f
call fcn.00462bf7
lea ecx, [esi + 0x3348]
mov byte [esp + 0x1c], 0x3e
mov dword [ecx], vtable.CFont.0
call fcn.00404370
mov eax, dword [esi + 0x3344]
sub eax, 0x10
mov byte [esp + 0x1c], 0x3d
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ccba
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3340]
sub eax, 0x10
mov byte [esp + 0x1c], 0x3c
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cce1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x333c]
sub eax, 0x10
mov byte [esp + 0x1c], 0x3b
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cd08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3338]
sub eax, 0x10
mov byte [esp + 0x1c], 0x3a
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cd2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x32fc]
mov byte [esp + 0x1c], 0x39
call fcn.0040c700
mov eax, dword [esi + 0x32f8]
sub eax, 0x10
mov byte [esp + 0x1c], 0x38
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cd66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x32f4]
sub eax, 0x10
mov byte [esp + 0x1c], 0x37
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cd8d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x32bc]
mov byte [esp + 0x1c], 0x36
call fcn.0040c500
mov eax, dword [esi + 0x32a8]
sub eax, 0x10
mov byte [esp + 0x1c], 0x35
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cdc4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x32a4]
sub eax, 0x10
mov byte [esp + 0x1c], 0x34
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40cdeb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x3280]
mov byte [esp + 0x1c], 0x33
call fcn.00525d90
lea ecx, [esi + 0x325c]
mov byte [esp + 0x1c], 0x32
call fcn.00525d90
mov eax, dword [esi + 0x3258]
sub eax, 0x10
mov byte [esp + 0x1c], 0x31
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ce32
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3254]
sub eax, 0x10
mov byte [esp + 0x1c], 0x30
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ce59
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0x3250]
sub eax, 0x10
mov byte [esp + 0x1c], 0x2f
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40ce80
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea edi, [esi + 0x31dc]
lea ecx, [edi + 8]
push ecx
mov byte [esp + 0x20], 0x2e
mov dword [edi], vtable.CCriticalSection.0
call ebx
mov ecx, edi
call fcn.00462fbb
lea ecx, [esi + 0x31b4]
mov byte [esp + 0x1c], 0x2d
call fcn.0040c580
lea ecx, [esi + 0x3188]
mov byte [esp + 0x1c], 0x2c
call fcn.0040c0c0
lea ecx, [esi + 0x316c]
mov byte [esp + 0x1c], 0x2b
call fcn.0040bee0
lea ecx, [esi + 0x314c]
mov byte [esp + 0x1c], 0x2a
call fcn.0040c890
lea ecx, [esi + 0x312c]
mov byte [esp + 0x1c], 0x29
call fcn.0040c810
lea edi, [esi + 0x3108]
lea edx, [edi + 8]
push edx
mov byte [esp + 0x20], 0x28
mov dword [edi], vtable.CCriticalSection.0
call ebx
mov ecx, edi
call fcn.00462fbb
lea edi, [esi + 0x30e8]
lea eax, [edi + 8]
push eax
mov byte [esp + 0x20], 0x27
mov dword [edi], vtable.CCriticalSection.0
call ebx
mov ecx, edi
call fcn.00462fbb
lea edi, [esi + 0x30c8]
lea ecx, [edi + 8]
push ecx
mov byte [esp + 0x20], 0x26
mov dword [edi], vtable.CCriticalSection.0
call ebx
mov ecx, edi
call fcn.00462fbb
push 0x40a9a0
push 0x10
push 0x38
lea edx, [esi + 0x2d48]
push edx
mov byte [esp + 0x2c], 0x25
call fcn.0049466e
lea ecx, [esi + 0x2d2c]
mov byte [esp + 0x1c], 0x24
call fcn.0040c130
lea ecx, [esi + 0x2d14]
mov byte [esp + 0x1c], 0x23
call fcn.0040c680
lea ecx, [esi + 0x2cfc]
mov byte [esp + 0x1c], 0x22
call fcn.0040c600
lea ecx, [esi + 0x285c]
mov byte [esp + 0x1c], 0x21
call fcn.0044ba50
lea ecx, [esi + 0x24e4]
mov byte [esp + 0x1c], 0x20
call fcn.0044ba50
lea ecx, [esi + 0x2128]
mov byte [esp + 0x1c], 0x1f
call fcn.00404600
lea ecx, [esi + 0x1d78]
mov byte [esp + 0x1c], 0x1e
call fcn.00404600
lea ecx, [esi + 0x19c8]
mov byte [esp + 0x1c], 0x1d
call fcn.00404600
lea ecx, [esi + 0x1618]
mov byte [esp + 0x1c], 0x1c
call fcn.00404600
lea ecx, [esi + 0x1268]
mov byte [esp + 0x1c], 0x1b
call fcn.00404600
lea ecx, [esi + 0x1214]
mov byte [esp + 0x1c], 0x1a
call fcn.0045d5a0
lea ecx, [esi + 0x1154]
mov byte [esp + 0x1c], 0x19
call fcn.0044fd40
lea ecx, [esi + 0x1094]
mov byte [esp + 0x1c], 0x18
call fcn.0044fd40
lea ecx, [esi + 0xfd4]
mov byte [esp + 0x1c], 0x17
call fcn.0044fd40
lea ecx, [esi + 0xf14]
mov byte [esp + 0x1c], 0x16
call fcn.0044fd40
lea ecx, [esi + 0xe54]
mov byte [esp + 0x1c], 0x15
call fcn.0044fd40
lea ecx, [esi + 0xd94]
mov byte [esp + 0x1c], 0x14
call fcn.0044fd40
lea ecx, [esi + 0xcd4]
mov byte [esp + 0x1c], 0x13
call fcn.0044fd40
lea ecx, [esi + 0xc14]
mov byte [esp + 0x1c], 0x12
call fcn.0044fd40
lea ecx, [esi + 0xb54]
mov byte [esp + 0x1c], 0x11
call fcn.0044fd40
lea ecx, [esi + 0xa94]
mov byte [esp + 0x1c], 0x10
call fcn.0044fd40
lea ecx, [esi + 0x9d4]
mov byte [esp + 0x1c], 0xf
call fcn.0044fd40
lea ecx, [esi + 0x914]
mov byte [esp + 0x1c], 0xe
call fcn.0044fd40
lea ecx, [esi + 0x854]
mov byte [esp + 0x1c], 0xd
call fcn.0044fd40
lea ecx, [esi + 0x800]
mov byte [esp + 0x1c], 0xc
call fcn.0045d5a0
lea ecx, [esi + 0x790]
mov byte [esp + 0x1c], 0xb
call fcn.00438430
lea ecx, [esi + 0x720]
mov byte [esp + 0x1c], 0xa
call fcn.00438430
lea ecx, [esi + 0x6b0]
mov byte [esp + 0x1c], 9
call fcn.00438430
lea ecx, [esi + 0x640]
mov byte [esp + 0x1c], 8
call fcn.00438430
lea ecx, [esi + 0x5d0]
mov byte [esp + 0x1c], 7
call fcn.00438430
lea ecx, [esi + 0x560]
mov byte [esp + 0x1c], 6
call fcn.00438430
lea ecx, [esi + 0x4f0]
mov byte [esp + 0x1c], 5
call fcn.00438430
lea ecx, [esi + 0x480]
mov byte [esp + 0x1c], 4
call fcn.00438430
lea ecx, [esi + 0x410]
mov byte [esp + 0x1c], 3
call fcn.00438430
lea ecx, [esi + 0x3a0]
mov byte [esp + 0x1c], 2
call fcn.00438430
lea ecx, [esi + 0x330]
mov byte [esp + 0x1c], 1
call fcn.00438430
lea ecx, [esi + 0x74]
mov byte [esp + 0x1c], 0
call fcn.00409a10
mov ecx, esi
mov dword [esp + 0x1c], 0xffffffff
call fcn.004658d1
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
add esp, 0x10
ret