Function at 0x55d824
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x10
push 0
push 0
dec ecx
jne 0x55d82c
push ecx
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x55dde2
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [0x83a4b8]
mov edx, dword [edx + 0xd4]
lea eax, [ebp - 4]
mov ecx, 0x55ddfc
call fcn.0040545c
mov eax, dword [ebp - 4]
call fcn.0040be8c
test al, al
je 0x55dda5
mov dl, 1
mov eax, dword [0x41ed6c]
call fcn.004041c0
mov dword [ebp - 0x40], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov edx, dword [ebp - 0x40]
mov eax, ebx
call fcn.00574514
mov eax, dword [ebp - 0x40]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x55dd9d
inc esi
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x48]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 8]
call fcn.0040b510
cmp dword [ebp - 8], 0
je 0x55dd93
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x55dd93
push 1
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x54]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x54]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x14]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x58]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x18]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x5c]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x60]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x1c]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x60]
lea eax, [ebp - 8]
call fcn.004051d8
cmp dword [ebp - 0x1c], 0
je 0x55d9c9
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0x22
jne 0x55d9c9
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x64]
push eax
mov ecx, 0x55de14
mov edx, 0x55de14
mov eax, dword [ebp - 0x1c]
call fcn.004916b0
push 1
lea eax, [ebp - 0x68]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x68]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x6c]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x28]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x70]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x74]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x78]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x78]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x34]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x7c]
lea eax, [ebp - 8]
call fcn.004051d8
push 1
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 0x50], 0x20
mov byte [ebp - 0x4f], 9
lea ecx, [ebp - 0x50]
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 8]
call fcn.0049136c
mov edx, dword [ebp - 0x80]
lea eax, [ebp - 8]
call fcn.004051d8
cmp dword [ebp - 0xc], 0
je 0x55dd93
cmp dword [ebp - 0x10], 0
je 0x55dd93
cmp dword [ebp - 0x24], 0
je 0x55dd93
mov dl, 1
mov eax, dword [0x686f8c]
call fcn.0068d208
mov ebx, eax
lea eax, reloc.kernel32.dll_DeleteCriticalSection
mov edx, dword [ebp - 0xc]
call fcn.00405194
lea eax, [ebx + 0x14]
mov edx, dword [ebp - 0x10]
call fcn.00405194
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.0040ba78
mov dword [ebx + 0x1c], eax
xor edx, edx
mov eax, dword [ebp - 0x18]
call fcn.0040ba78
mov dword [ebx + 0x20], eax
lea eax, [ebx + 0x18]
mov edx, dword [ebp - 0x1c]
call fcn.00405194
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0040ba78
mov byte [ebx + 0x15c4], al
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.0040ba78
mov word [ebx + 0xda0], ax
xor edx, edx
mov eax, dword [ebp - 0x30]
call fcn.0040ba78
mov dword [ebx + reloc.kernel32.dll_DeleteCriticalSection], eax
xor edx, edx
mov eax, dword [ebp - 0x38]
call fcn.0040ba78
imul eax, eax, 0x3e8
mov dword [ebx + reloc.kernel32.dll_DeleteCriticalSection], eax
mov ecx, 6
mov edx, 0x55de20
mov eax, dword [ebp - 0x1c]
call fcn.00491970
test al, al
je 0x55dbe9
mov eax, dword [ebp - 0x1c]
call fcn.00405410
mov edx, dword [ebp - 0x1c]
cmp byte [edx + eax - 1], 0x3e
jne 0x55dbe9
lea eax, [ebp - 0x3c]
mov edx, dword [ebp - 0x1c]
call fcn.004051d8
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x84]
push eax
mov ecx, 0x55de30
mov edx, 0x55de3c
mov eax, dword [ebp - 0x3c]
call fcn.004916b0
mov edx, dword [ebp - 0x84]
lea eax, [ebp - 0x3c]
call fcn.004051d8
mov eax, dword [ebp - 0x1c]
call fcn.0077cfd8
mov edx, eax
add edx, 0xfffffc18
sub edx, 0x1f4
jae 0x55dc24
mov edi, eax
sub edi, 0x3e8
mov dword [ebx + reloc.kernel32.dll_DeleteCriticalSection], edi
lea eax, [ebx + 0x18]
mov edx, dword [0x83a4b8]
mov edx, dword [edx + edi*4 + reloc.kernel32.dll_DeleteCriticalSection]
call fcn.00405194
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0040ba78
test eax, eax
setne al
mov byte [ebx + 0x1615], al
xor edx, edx
mov eax, dword [ebp - 0x2c]
call fcn.0040ba78
test eax, eax
je 0x55dc50
cmp dword [ebx + reloc.kernel32.dll_DeleteCriticalSection], 0
ja 0x55dc54
xor eax, eax
jmp 0x55dc56
mov al, 1
mov byte [ebx + 0x1634], al
xor edx, edx
mov eax, dword [ebp - 0x34]
call fcn.0040ba78
test eax, eax
setne al
mov byte [ebx + 0x15dc], al
mov ax, word [ebx + 0xda0]
mov edx, eax
add edx, 0xffffffca
sub dx, 0x16
jb 0x55dc9b
add edx, 0xfffffff2
sub dx, 0xa
jb 0x55dc9b
add edx, 0xffffff91
sub dx, 0xf
jb 0x55dc9b
sub ax, 0xf5
jne 0x55dca2
mov byte [ebx + 0x1605], 0
mov ax, word [ebx + 0xda0]
mov edx, eax
add edx, 0xffffffe8
cmp dx, 0x4f
ja 0x55dcbe
and edx, 0x7f
bt dword [0x55de40], edx
jb 0x55dd7e
mov edx, eax
add edx, 0xffffffca
sub dx, 0x16
jb 0x55dd7e
add edx, 0xfffffff2
sub dx, 0xa
jb 0x55dd7e
mov edx, eax
add edx, 0xffffff36
sub dx, 5
jb 0x55dd7e
sub dx, 2
je 0x55dd7e
add edx, 0xfffffffe
sub dx, 0xf
jb 0x55dd7e
mov edx, eax
add edx, 0xffffff1e
sub dx, 0xa
jb 0x55dd7e
add edx, 0xfffffff8
sub dx, 2
jb 0x55dd7e
add eax, 0xffffff0a
sub ax, 6
jb 0x55dd7e
mov di, word [ebx + 0xda0]
cmp di, 0xfd
jb 0x55dd3c
cmp di, 0x101
jbe 0x55dd7e
cmp word [ebx + 0xda0], 0x103
jb 0x55dd52
cmp word [ebx + 0xda0], 0x106
jbe 0x55dd7e
cmp word [ebx + 0xda0], 0x109
jb 0x55dd68
cmp word [ebx + 0xda0], 0x10c
jbe 0x55dd7e
cmp word [ebx + 0xda0], 0x10f
jb 0x55dd85
cmp word [ebx + 0xda0], 0x110
ja 0x55dd85
mov byte [ebx + 0x1604], 0
mov eax, dword [0x83a314]
mov eax, dword [eax]
mov edx, ebx
call fcn.006b2b2c
inc dword [ebp - 0x44]
dec esi
jne 0x55d8af
mov eax, dword [ebp - 0x40]
call fcn.004041f0
mov ebx, 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55dde9
lea eax, [ebp - 0x84]
mov edx, 0xd
call fcn.00405164
lea eax, [ebp - 0x4c]
mov edx, 2
call fcn.00405164
lea eax, [ebp - 0x3c]
mov edx, 0xf
call fcn.00405164
ret