Function at 0x40c1f0
Capabilities:
Contain obfuscated stackstrings
Link many functions at runtime
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x6c
push ebx
push ebp
push esi
lea eax, [esp + 0x68]
push edi
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x70], 0x57
mov byte [esp + 0x71], 0x69
mov byte [esp + 0x72], 0x6e
mov byte [esp + 0x73], 0x64
mov byte [esp + 0x74], 0x6f
mov byte [esp + 0x75], 0x77
mov byte [esp + 0x76], 0x46
mov byte [esp + 0x77], 0x72
mov byte [esp + 0x78], 0x6f
mov byte [esp + 0x79], 0x6d
mov byte [esp + 0x7a], 0x50
mov byte [esp + 0x7b], 0x6f
mov byte [esp + 0x7c], 0x69
mov byte [esp + 0x7d], 0x6e
mov byte [esp + 0x7e], 0x74
mov byte [esp + 0x7f], 0
call fcn.00417700
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
lea ecx, [esp + 0x34]
mov bl, 0x65
push ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], eax
mov byte [esp + 0x38], 0x6b
mov byte [esp + 0x39], bl
mov byte [esp + 0x3a], 0x79
mov byte [esp + 0x3b], 0x62
mov byte [esp + 0x3c], 0x64
mov byte [esp + 0x3d], 0x5f
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3f], 0x76
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], 0x6e
mov byte [esp + 0x42], 0x74
mov byte [esp + 0x43], 0
call fcn.00417700
push eax
call esi
lea edx, [esp + 0x40]
lea ecx, [esp + 0x10]
push edx
mov dword [esp + 0x18], eax
mov byte [esp + 0x44], 0x6d
mov byte [esp + 0x45], 0x6f
mov byte [esp + 0x46], 0x75
mov byte [esp + 0x47], 0x73
mov byte [esp + 0x48], bl
mov byte [esp + 0x49], 0x5f
mov byte [esp + 0x4a], bl
mov byte [esp + 0x4b], 0x76
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4d], 0x6e
mov byte [esp + 0x4e], 0x74
mov byte [esp + 0x4f], 0
call fcn.00417700
push eax
call esi
mov ebp, eax
mov byte [esp + 0x4c], 0x53
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], 0x74
mov byte [esp + 0x4f], 0x43
mov byte [esp + 0x50], 0x75
mov byte [esp + 0x51], 0x72
mov byte [esp + 0x52], 0x73
mov byte [esp + 0x53], 0x6f
mov byte [esp + 0x54], 0x72
mov byte [esp + 0x55], 0x50
mov byte [esp + 0x56], 0x6f
mov byte [esp + 0x57], 0x73
mov byte [esp + 0x58], 0
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x14]
call fcn.00417700
push eax
call esi
lea ecx, [esp + 0x28]
mov dword [esp + 0x18], eax
push ecx
lea ecx, [esp + 0x14]
mov byte [esp + 0x2c], 0x53
mov byte [esp + 0x2d], bl
mov byte [esp + 0x2e], 0x74
mov byte [esp + 0x2f], 0x43
mov byte [esp + 0x30], 0x61
mov byte [esp + 0x31], 0x70
mov byte [esp + 0x32], 0x74
mov byte [esp + 0x33], 0x75
mov byte [esp + 0x34], 0x72
mov byte [esp + 0x35], bl
mov byte [esp + 0x36], 0
call fcn.00417700
push eax
call esi
lea edx, [esp + 0x5c]
lea ecx, [esp + 0x10]
push edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x60], 0x4d
mov byte [esp + 0x61], 0x61
mov byte [esp + 0x62], 0x70
mov byte [esp + 0x63], 0x56
mov byte [esp + 0x64], 0x69
mov byte [esp + 0x65], 0x72
mov byte [esp + 0x66], 0x74
mov byte [esp + 0x67], 0x75
mov byte [esp + 0x68], 0x61
mov byte [esp + 0x69], 0x6c
mov byte [esp + 0x6a], 0x4b
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], 0x79
mov byte [esp + 0x6d], 0x41
mov byte [esp + 0x6e], 0
call fcn.00417700
push eax
call esi
mov esi, dword [esp + 0x84]
mov edi, eax
mov eax, esi
xor edx, edx
mov ecx, 0x1c
mov dword [esp + 0x24], edi
div ecx
test edx, edx
jne 0x40c59f
call fcn.0040e4e0
mov eax, 0x24924925
mul esi
sub esi, edx
shr esi, 1
add esi, edx
shr esi, 4
test esi, esi
jle 0x40c59f
mov edx, dword [esp + 0x80]
mov dword [esp + 0x84], esi
lea ebx, [edx + 8]
mov eax, dword [ebx - 4]
cmp eax, 0x200
jb 0x40c478
cmp eax, 0x208
ja 0x40c478
mov edi, dword [ebx + 4]
xor esi, esi
mov si, word [ebx + 4]
shr edi, 0x10
push edi
push esi
call dword [esp + 0x20]
push edi
push esi
call dword [esp + 0x24]
push eax
call dword [esp + 0x24]
mov edi, dword [esp + 0x24]
mov eax, dword [ebx - 4]
cmp eax, 0x203
ja 0x40c518
je 0x40c500
cmp eax, 0x105
ja 0x40c4d4
je 0x40c4bc
sub eax, 0x100
je 0x40c4a4
dec eax
je 0x40c4bc
sub eax, 3
jne case.0x40c522.521
mov eax, dword [ebx]
push 0
push 0
push 0
push eax
call edi
mov cl, byte [ebx]
push eax
push ecx
call dword [esp + 0x24]
jmp case.0x40c522.521
mov edx, dword [ebx]
push 0
push 2
push 0
push edx
call edi
push eax
mov al, byte [ebx]
push eax
call dword [esp + 0x24]
jmp case.0x40c522.521
sub eax, 0x201
je 0x40c4f1
dec eax
jne case.0x40c522.521
push 0
push 0
push 0
push 0
push 4
jmp 0x40c585
push 0
push 0
push 0
push 0
push 2
jmp 0x40c585
push 0
push 0
push 0
push 0
push 6
call ebp
push 0
push 0
push 0
push 0
push 6
jmp 0x40c585
add eax, 0xfffffdfc
cmp eax, 6
ja case.0x40c522.521
jmp dword [eax*4 + 0x40c5ac]
push 0
push 0
push 0
push 0
push 8
jmp 0x40c585
push 0
push 0
push 0
push 0
push 0x10
jmp 0x40c585
push 0
push 0
push 0
push 0
push 0x18
call ebp
push 0
push 0
push 0
push 0
push 0x18
jmp 0x40c585
push 0
push 0
push 0
push 0
push 0x20
jmp 0x40c585
push 0
push 0
push 0
push 0
push 0x40
jmp 0x40c585
mov ecx, dword [ebx]
push 0
shr ecx, 0x10
movsx edx, cx
push edx
push 0
push 0
push 0x800
call ebp
mov eax, dword [esp + 0x84]
add ebx, 0x1c
dec eax
mov dword [esp + 0x84], eax
jne 0x40c446
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret 8