Function at 0x40bae0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0xffffffffffffffff
push 0x456c85
mov eax, dword fs:[0]
push eax
mov eax, 0x2064
call fcn.00441210
mov eax, dword [0x473b98]
xor eax, esp
mov dword [esp + 0x2060], eax
push ebx
push esi
push edi
mov eax, dword [0x473b98]
xor eax, esp
push eax
lea eax, [esp + 0x2074]
mov dword fs:[0], eax
mov esi, dword [esp + 0x2084]
xor edi, edi
mov dword [esp + 0x24], esi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x207c], 1
call fcn.00420f49
xor ecx, ecx
cmp eax, edi
setne cl
cmp ecx, edi
jne 0x40bb54
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esi], eax
push 0x1fff
lea ecx, [esp + 0x75]
push edi
push ecx
mov dword [esp + 0x38], 1
mov byte [esp + 0x7c], 0
call fcn.0043f9f0
add esp, 0xc
mov ecx, esi
call fcn.004074a0
mov ecx, dword [esp + 0x2088]
mov eax, dword [ecx - 0xc]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x10], edi
test eax, eax
jle 0x40bdf1
xor esi, esi
mov bl, 0xc0
lea eax, [esi + 1]
mov byte [esp + 0x30], 0xfe
mov byte [esp + 0x31], 0x85
mov byte [esp + 0x32], 0x56
mov byte [esp + 0x33], 0xac
mov byte [esp + 0x34], 0xff
mov byte [esp + 0x35], 0x88
mov byte [esp + 0x36], 0x56
mov byte [esp + 0x37], 0xac
mov byte [esp + 0x38], 0xb9
mov byte [esp + 0x39], 0xfc
mov byte [esp + 0x3a], 0x81
mov byte [esp + 0x3b], 0x56
mov byte [esp + 0x3c], 0xac
mov byte [esp + 0x3d], 0xb9
mov byte [esp + 0x3e], 0x65
mov byte [esp + 0x3f], 0x47
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], 0xde
mov byte [esp + 0x42], 0xe3
mov byte [esp + 0x43], 0x65
mov byte [esp + 0x44], 0x47
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0xde
mov byte [esp + 0x47], 0xed
mov byte [esp + 0x48], 0xff
mov byte [esp + 0x49], 0x8d
mov byte [esp + 0x4a], 0x56
mov byte [esp + 0x4b], 0xac
mov byte [esp + 0x4c], 0xff
mov byte [esp + 0x4d], 0x88
mov byte [esp + 0x4e], 0x56
mov byte [esp + 0x4f], 0xac
mov byte [esp + 0x50], 0xb9
mov byte [esp + 0x51], 0xf9
mov byte [esp + 0x52], 0x88
mov byte [esp + 0x53], 0x56
mov byte [esp + 0x54], 0xac
mov byte [esp + 0x55], 0xb9
mov byte [esp + 0x56], 0x65
mov byte [esp + 0x57], 0x47
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], 0xdd
mov byte [esp + 0x5a], 0xed
mov byte [esp + 0x5b], 0x65
mov byte [esp + 0x5c], 0x47
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], 0xd3
mov byte [esp + 0x5f], 0xed
mov byte [esp + 0x60], 0xb9
mov byte [esp + 0x61], 0x65
mov byte [esp + 0x62], 0x47
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], 0xde
mov byte [esp + 0x65], 0xed
mov byte [esp + 0x66], 0x32
mov byte [esp + 0x67], 0x66
mov byte [esp + 0x68], 0xbb
mov byte [esp + 0x69], 0x65
mov byte [esp + 0x6a], 0x47
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], 0xde
mov byte [esp + 0x6d], 0xea
mov byte [esp + 0x6e], 0x32
mov byte [esp + 0x6f], 0x66
test eax, eax
jl 0x40be58
cmp eax, dword [ecx - 0xc]
jg 0x40be58
mov dl, byte [eax + ecx]
mov byte [esp + 0x28], dl
mov eax, dword [esp + 0x28]
push 1
push eax
lea ecx, [esp + 0x20]
call fcn.00407eb0
mov edi, eax
mov byte [esp + 0x207c], 2
test esi, esi
jl 0x40be58
mov eax, dword [esp + 0x2088]
cmp esi, dword [eax - 0xc]
jg 0x40be58
mov cl, byte [esi + eax]
mov byte [esp + 0x20], cl
mov edx, dword [esp + 0x20]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00407eb0
mov ecx, dword [edi]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x24]
push str._s_s
push eax
call fcn.0044196b
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bd7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x207c], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40bda6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.00409a90
mov edi, dword [esp + 0x14]
mov edx, edi
add esp, 4
and edx, 0x8000003f
jns 0x40bdc6
dec edx
or edx, 0xffffffc0
inc edx
xor al, byte [esp + edx + 0x30]
mov ecx, dword [esp + 0x2088]
mov byte [esp + edi + 0x70], al
mov eax, dword [ecx - 0xc]
cdq
sub eax, edx
inc edi
sar eax, 1
add esi, 2
cmp edi, eax
mov dword [esp + 0x10], edi
jl 0x40bba8
mov esi, dword [esp + 0x24]
lea eax, [esp + 0x70]
push eax
push 0x45c34c
push esi
call fcn.004012d0
mov eax, dword [esp + 0x2094]
add eax, 0xfffffff0
add esp, 0xc
mov byte [esp + 0x207c], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40be2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x2074]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2060]
xor ecx, esp
call fcn.0043f7cd
add esp, 0x2070
ret
push 0x80070057
call fcn.00401000
int3