Function at 0x41ca00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x52a14e
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push ebp
push esi
push edi
mov eax, dword [0x56b1dc]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
xor eax, eax
mov dword [esp + 0x14], eax
or ebp, 0xffffffff
test byte [0x57ace8], 1
lea ebx, [eax + 2]
jne 0x41cc34
or dword [0x57ace8], 1
push 0x57ac88
mov ecx, 0x536efc
mov dword [esp + 0x24], eax
call fcn.00402550
push 0x57ac8c
mov ecx, 0x536ef8
mov byte [esp + 0x24], 1
call fcn.00402550
push 0x57ac90
mov ecx, 0x536ef4
mov byte [esp + 0x24], bl
call fcn.00402550
push 0x57ac94
mov ecx, 0x536ef0
mov byte [esp + 0x24], 3
call fcn.00402550
push 0x57ac98
mov ecx, 0x536eec
mov byte [esp + 0x24], 4
call fcn.00402550
push 0x57ac9c
mov ecx, 0x536ee8
mov byte [esp + 0x24], 5
call fcn.00402550
push 0x57aca0
mov ecx, 0x536ee4
mov byte [esp + 0x24], 6
call fcn.00402550
push 0x57aca4
mov ecx, 0x536ee0
mov byte [esp + 0x24], 7
call fcn.00402550
push 0x57aca8
mov ecx, 0x536edc
mov byte [esp + 0x24], 8
call fcn.00402550
push 0x57acac
mov ecx, 0x536ed8
mov byte [esp + 0x24], 9
call fcn.00402550
push 0x57acb0
mov ecx, 0x536ed4
mov byte [esp + 0x24], 0xa
call fcn.00402550
push 0x57acb4
mov ecx, 0x536ed0
mov byte [esp + 0x24], 0xb
call fcn.00402550
push 0x57acb8
mov ecx, 0x536ecc
mov byte [esp + 0x24], 0xc
call fcn.00402550
push 0x57acbc
mov ecx, str.xqjhkglntdfmpb
mov byte [esp + 0x24], 0xd
call fcn.00402550
push 0x57acc0
mov ecx, 0x536ec0
mov byte [esp + 0x24], 0xe
call fcn.00402550
push 0x57acc4
mov ecx, 0x536eb8
mov byte [esp + 0x24], 0xf
call fcn.00402550
push 0x57acc8
mov ecx, 0x536eb0
mov byte [esp + 0x24], 0x10
call fcn.00402550
push 0x57accc
mov ecx, 0x536eac
mov byte [esp + 0x24], 0x11
call fcn.00402550
push 0x57acd0
mov ecx, 0x536ea8
mov byte [esp + 0x24], 0x12
call fcn.00402550
push 0x57acd4
mov ecx, 0x536ea4
mov byte [esp + 0x24], 0x13
call fcn.00402550
push 0x57acd8
mov ecx, 0x536ea0
mov byte [esp + 0x24], 0x14
call fcn.00402550
push 0x57acdc
mov ecx, 0x536e9c
mov byte [esp + 0x24], 0x15
call fcn.00402550
push 0x57ace0
mov ecx, 0x536e98
mov byte [esp + 0x24], 0x16
call fcn.00402550
push 0x57ace4
mov ecx, 0x535ef0
mov byte [esp + 0x24], 0x17
call fcn.00402550
push 0x5305f0
call fcn.005000d9
add esp, 4
mov dword [esp + 0x20], ebp
test byte [0x57ace8], bl
jne 0x41ce62
or dword [0x57ace8], ebx
push 0x57ac20
mov ecx, 0x536fc0
mov dword [esp + 0x24], 0x18
call fcn.00402550
push 0x57ac24
mov ecx, 0x536fb8
mov byte [esp + 0x24], 0x19
call fcn.00402550
push 0x57ac28
mov ecx, 0x536fb0
mov byte [esp + 0x24], 0x1a
call fcn.00402550
push 0x57ac2c
mov ecx, 0x536fa8
mov byte [esp + 0x24], 0x1b
call fcn.00402550
push 0x57ac30
mov ecx, 0x536fa0
mov byte [esp + 0x24], 0x1c
call fcn.00402550
push 0x57ac34
mov ecx, 0x536f9c
mov byte [esp + 0x24], 0x1d
call fcn.00402550
push 0x57ac38
mov ecx, 0x536f94
mov byte [esp + 0x24], 0x1e
call fcn.00402550
push 0x57ac3c
mov ecx, 0x536f8c
mov byte [esp + 0x24], 0x1f
call fcn.00402550
push 0x57ac40
mov ecx, 0x536f84
mov byte [esp + 0x24], 0x20
call fcn.00402550
push 0x57ac44
mov ecx, 0x536f7c
mov byte [esp + 0x24], 0x21
call fcn.00402550
push 0x57ac48
mov ecx, 0x536f78
mov byte [esp + 0x24], 0x22
call fcn.00402550
push 0x57ac4c
mov ecx, 0x536f70
mov byte [esp + 0x24], 0x23
call fcn.00402550
push 0x57ac50
mov ecx, 0x536f68
mov byte [esp + 0x24], 0x24
call fcn.00402550
push 0x57ac54
mov ecx, 0x536f60
mov byte [esp + 0x24], 0x25
call fcn.00402550
push 0x57ac58
mov ecx, 0x536f54
mov byte [esp + 0x24], 0x26
call fcn.00402550
push 0x57ac5c
mov ecx, 0x536f4c
mov byte [esp + 0x24], 0x27
call fcn.00402550
push 0x57ac60
mov ecx, 0x536f44
mov byte [esp + 0x24], 0x28
call fcn.00402550
push 0x57ac64
mov ecx, 0x536f3c
mov byte [esp + 0x24], 0x29
call fcn.00402550
push 0x57ac68
mov ecx, 0x536f30
mov byte [esp + 0x24], 0x2a
call fcn.00402550
push 0x57ac6c
mov ecx, 0x536f28
mov byte [esp + 0x24], 0x2b
call fcn.00402550
push 0x57ac70
mov ecx, 0x536f24
mov byte [esp + 0x24], 0x2c
call fcn.00402550
push 0x57ac74
mov ecx, 0x536f1c
mov byte [esp + 0x24], 0x2d
call fcn.00402550
push 0x57ac78
mov ecx, 0x536f14
mov byte [esp + 0x24], 0x2e
call fcn.00402550
push 0x57ac7c
mov ecx, 0x536f10
mov byte [esp + 0x24], 0x2f
call fcn.00402550
push 0x57ac80
mov ecx, 0x536f08
mov byte [esp + 0x24], 0x30
call fcn.00402550
push 0x57ac84
mov ecx, 0x536f00
mov byte [esp + 0x24], 0x31
call fcn.00402550
push 0x5305d0
call fcn.005000d9
add esp, 4
mov dword [esp + 0x20], ebp
test byte [0x57ace8], 4
jne 0x41cf16
or dword [0x57ace8], 4
push 0x57ac00
mov ecx, 0x536ff4
mov dword [esp + 0x24], 0x32
call fcn.00402550
push 0x57ac04
mov ecx, 0x536fec
mov byte [esp + 0x24], 0x33
call fcn.00402550
push 0x57ac08
mov ecx, 0x536fe0
mov byte [esp + 0x24], 0x34
call fcn.00402550
push 0x57ac0c
mov ecx, 0x536fd8
mov byte [esp + 0x24], 0x35
call fcn.00402550
push 0x57ac10
mov ecx, 0x536fd0
mov byte [esp + 0x24], 0x36
call fcn.00402550
push 0x57ac14
mov ecx, 0x536fc8
mov byte [esp + 0x24], 0x37
call fcn.00402550
push 0x57ac18
mov ecx, 0x536fc4
mov byte [esp + 0x24], 0x38
call fcn.00402550
push 0x5305b0
call fcn.005000d9
add esp, 4
mov dword [esp + 0x20], ebp
movzx eax, word [esp + 0x2c]
mov esi, eax
and eax, 0xff
mov edi, eax
mov eax, dword [0x5759e8]
mov edx, dword [eax + 0xc]
shr esi, 8
mov ecx, 0x5759e8
sub esi, 0x41
call edx
lea ebx, [eax + 0x10]
mov dword [esp + 0x2c], ebx
cmp esi, 0x17
mov dword [esp + 0x20], 0x39
ja 0x41d00a
cmp edi, 0x40
jle 0x41cfa8
lea eax, [edi - 0x41]
cmp eax, 0x19
jg 0x41cf85
test eax, eax
jl 0x41cf85
lea eax, [eax*4 + 0x57ac20]
push eax
lea ecx, [esp + 0x18]
lea ebx, [esi*4 + 0x57ac88]
push ecx
call fcn.0040d230
add esp, 8
mov byte [esp + 0x20], 0x3a
jmp 0x41cfd5
mov esi, dword [esp + 0x28]
push esi
mov ecx, 0x536e88
call fcn.00402550
lea eax, [ebx - 0x10]
mov dword [esp + 0x20], ebp
lea edx, [eax + 0xc]
lock xadd dword [edx], ebp
dec ebp
jmp 0x41d028
lea eax, [edi - 0x30]
cmp eax, 6
jg 0x41d00a
test eax, eax
jl 0x41d00a
lea ecx, [eax*4 + 0x57ac00]
push ecx
lea edx, [esp + 0x18]
lea ebx, [esi*4 + 0x57ac88]
push edx
call fcn.0040d230
add esp, 8
mov byte [esp + 0x20], 0x3b
lea edi, [esp + 0x2c]
call fcn.00401dd0
lea ecx, [esp + 0x14]
mov byte [esp + 0x20], 0x39
call fcn.00402660
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
call fcn.004020b0
mov esi, dword [esp + 0x28]
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00402660
jmp 0x41d036
mov esi, dword [esp + 0x28]
push esi
mov ecx, 0x536e88
call fcn.00402550
lea eax, [ebx - 0x10]
lea ecx, [eax + 0xc]
mov dword [esp + 0x20], ebp
lock xadd dword [ecx], ebp
dec ebp
test ebp, ebp
jg 0x41d036
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 8