Function at 0x40b400
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x483670
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x4ae928]
xor eax, esp
mov dword [esp + 0x5c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4ae928]
xor eax, esp
push eax
lea eax, [esp + 0x74]
mov dword fs:[0], eax
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x84]
cmp dword [eax - 0xc], 0x12
je 0x40b454
mov dword [esp + 0x7c], 0xffffffff
jmp 0x40b751
mov edi, 9
mov edx, 5
mov ecx, 8
mov eax, 4
mov ebp, 7
mov esi, 0xa
mov ebx, 1
mov dword [esp + 0x24], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], 2
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], 6
mov dword [esp + 0x44], 3
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 2
mov byte [esp + 0x64], 0x31
mov byte [esp + 0x65], 0x30
mov byte [esp + 0x66], 0x58
mov byte [esp + 0x67], 0x39
mov byte [esp + 0x68], 0x38
mov byte [esp + 0x69], 0x37
mov byte [esp + 0x6a], 0x36
mov byte [esp + 0x6b], 0x35
mov byte [esp + 0x6c], 0x34
mov byte [esp + 0x6d], 0x33
mov byte [esp + 0x6e], 0x32
xor edi, edi
call fcn.0043d5fa
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40b51e
push 0x80004005
call fcn.00401ed0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
mov byte [esp + 0x7c], bl
xor esi, esi
test esi, esi
jl 0x40b5e7
mov eax, dword [esp + 0x84]
cmp esi, dword [eax - 0xc]
jg 0x40b5e7
movsx ecx, byte [esi + eax]
push ecx
lea edx, [esp + 0x18]
push 0x491a88
push edx
call fcn.00402b80
mov ebp, dword [esp + 0x20]
add esp, 0xc
cmp dword [ebp - 4], ebx
jle 0x40b57d
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [esp + 0x18]
call fcn.00401d80
mov ebp, dword [esp + 0x14]
push ebp
call fcn.00468897
mov ecx, dword [esp + esi*4 + 0x24]
imul ecx, eax
add esi, ebx
add esp, 4
add edi, ecx
cmp esi, 0x11
jl 0x40b534
mov eax, 0x2e8ba2e9
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
sub edi, eax
call fcn.0043d5fa
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x40b5c5
push 0x80004005
call fcn.00401ed0
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x7c], 2
mov eax, dword [esp + 0x84]
cmp dword [eax - 0xc], 0x11
jge 0x40b5f1
push 0x80070057
call fcn.00401ed0
movsx ecx, byte [eax + 0x11]
push ecx
lea edx, [esp + 0x1c]
push 0x491a88
push edx
call fcn.00402b80
mov esi, dword [esp + 0x24]
add esp, 0xc
cmp dword [esi - 4], ebx
jle 0x40b622
mov eax, dword [esi - 0xc]
push eax
lea ecx, [esp + 0x1c]
call fcn.00401d80
mov esi, dword [esp + 0x18]
push esi
call fcn.0047dbbb
add esp, 4
push eax
lea ecx, [esp + 0x20]
call fcn.00402030
mov byte [esp + 0x7c], 3
mov eax, dword [esp + 0x1c]
cmp dword [eax - 0xc], 0
jge 0x40b64e
push 0x80070057
call fcn.00401ed0
mov cl, byte [eax]
add eax, 0xfffffff0
mov byte [esp + 0x7c], 2
or edx, 0xffffffff
cmp byte [esp + edi + 0x64], cl
lea ecx, [eax + 0xc]
jne 0x40b6ee
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b67b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x7c], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b69b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x7c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b6bc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x7c], 0xffffffff
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b6e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov al, bl
jmp 0x40b76f
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b701
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [esi - 0x10]
mov byte [esp + 0x7c], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b721
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [ebp - 0x10]
mov byte [esp + 0x7c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b742
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x7c], 0xffffffff
mov eax, dword [esp + 0x84]
add eax, 0xfffffff0
or edx, 0xffffffff
lea ecx, [eax + 0xc]
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40b76d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor al, al
mov ecx, dword [esp + 0x74]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.004672c4
add esp, 0x6c
ret 4