Function at 0x10059880
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ad8e6
mov eax, dword fs:[0]
push eax
sub esp, 0x98
push ebx
push esi
push edi
mov eax, dword [0x100d6084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x58], ecx
mov esi, dword [ebp + 8]
mov edi, dword [esi + 8]
mov edx, dword [esi + 0x14]
sub edx, dword [esi + 0x10]
lea eax, [edi + 2]
cmp eax, edx
jbe 0x100598c5
xor ebx, ebx
jmp 0x100598cc
mov eax, dword [esi + 0x10]
movzx ebx, word [edi + eax]
lea edx, [edi + 2]
mov dword [esi + 8], edx
lea eax, [edx + 2]
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
cmp eax, ecx
jbe 0x100598e3
xor edi, edi
jmp 0x100598ea
mov eax, dword [esi + 0x10]
movzx edi, word [edx + eax]
add edx, 2
mov dword [esi + 8], edx
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 2]
cmp eax, ecx
jbe 0x10059906
mov dword [ebp - 0x50], 0
jmp 0x10059910
mov eax, dword [esi + 0x10]
movzx eax, word [edx + eax]
mov dword [ebp - 0x50], eax
add edx, 2
mov dword [esi + 8], edx
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x10]
lea eax, [edx + 4]
cmp eax, ecx
jbe 0x1005992c
mov dword [ebp - 0x54], 0
jmp 0x10059935
mov eax, dword [esi + 0x10]
mov eax, dword [edx + eax]
mov dword [ebp - 0x54], eax
lea eax, [edx + 4]
movzx edx, bx
push ecx
lea ecx, [ebp - 0x70]
mov dword [esi + 8], eax
call fcn.100198c0
add esp, 4
mov dword [ebp - 4], 0
cmp dword [eax + 0x14], 0x10
jb 0x10059959
mov eax, dword [eax]
push eax
mov byte [ebp - 0x20], 0x19
mov cl, 0x7c
mov bl, cl
mov byte [ebp + 0xb], 0x3c
xor cl, byte [ebp - 0x20]
mov al, 0x55
xor al, byte [ebp - 0x20]
mov dl, 0x6f
mov byte [ebp - 0x1f], al
mov dh, 0x23
mov al, byte [ebp + 0xb]
mov ch, 0x39
mov byte [ebp - 0x1e], cl
sub esp, 0x18
mov cl, byte [ebp - 0x20]
mov bh, ch
xor al, cl
mov byte [ebp - 0x21], 0x6a
xor dl, cl
mov byte [ebp - 0x17], al
mov al, byte [ebp - 0x21]
xor dh, cl
mov byte [ebp - 0x1d], dl
mov ah, 0x75
mov byte [ebp - 0x19], dh
xor bl, cl
mov edx, esp
mov byte [ebp - 0x15], 0
xor ah, cl
mov byte [ebp - 0x1c], bl
xor ch, cl
mov byte [ebp - 0x1b], ah
xor bh, cl
mov byte [ebp - 0x1a], ch
xor al, cl
mov byte [ebp - 0x18], bh
mov byte [ebp - 0x16], al
mov byte [ebp - 0x15], 0
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x100599d8
mov eax, dword [edx]
jmp 0x100599da
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x100599e7
xor ecx, ecx
jmp 0x100599f9
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100599f0
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.10002840
lea eax, [ebp - 0x4c]
push eax
call fcn.1000f610
add esp, 0x20
mov ebx, dword [ebp - 0x58]
mov edx, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebx + 0x30]
call fcn.1001c270
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x10059a37
inc eax
lea ecx, [ebp - 0x4c]
push eax
push dword [ebp - 0x4c]
call fcn.10002720
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
cmp eax, 0x10
jb 0x10059a65
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.10002720
push ecx
movzx edx, di
lea ecx, [ebp - 0x70]
call fcn.100198c0
add esp, 4
mov dword [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
jb 0x10059a83
mov eax, dword [eax]
push eax
mov cl, 0x61
mov dword [ebp - 0x20], 0xc002561
mov dword [ebp - 0x1c], 0x41040600
xor eax, eax
mov dword [ebp - 0x18], 0x1244415b
mov byte [ebp - 0x14], 0
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0xb
jae 0x10059ab0
mov cl, byte [ebp - 0x20]
jmp 0x10059aa1
sub esp, 0x18
mov byte [ebp - 0x14], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10059ad1
mov eax, dword [edx]
jmp 0x10059ad3
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x10059ae0
xor ecx, ecx
jmp 0x10059aef
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059ae6
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.10002840
lea eax, [ebp - 0x4c]
push eax
call fcn.1000f610
add esp, 0x20
mov byte [ebp - 4], 3
mov edx, eax
mov ecx, dword [ebx + 0x34]
call fcn.1001c270
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x10059b2a
inc eax
lea ecx, [ebp - 0x4c]
push eax
push dword [ebp - 0x4c]
call fcn.10002720
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
cmp eax, 0x10
jb 0x10059b58
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.10002720
mov eax, dword [ebp - 0x50]
push ecx
movzx edx, ax
lea ecx, [ebp - 0x70]
call fcn.100198c0
add esp, 4
mov dword [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
jb 0x10059b79
mov eax, dword [eax]
push eax
mov cl, 1
mov dword [ebp - 0x20], 0x67644501
mov dword [ebp - 0x1c], 0x64726f64
xor eax, eax
mov dword [ebp - 0x18], 0x24213b21
mov word [ebp - 0x14], 0x72
nop dword [eax]
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0xc
jae 0x10059baf
mov cl, byte [ebp - 0x20]
jmp 0x10059ba0
sub esp, 0x18
mov byte [ebp - 0x13], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10059bd0
mov eax, dword [edx]
jmp 0x10059bd2
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x10059bdf
xor ecx, ecx
jmp 0x10059bee
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059be5
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.10002840
lea eax, [ebp - 0x4c]
push eax
call fcn.1000f610
add esp, 0x20
mov byte [ebp - 4], 5
mov edx, eax
mov ecx, dword [ebx + 0x38]
call fcn.1001c270
mov eax, dword [ebp - 0x38]
cmp eax, 0x10
jb 0x10059c29
inc eax
lea ecx, [ebp - 0x4c]
push eax
push dword [ebp - 0x4c]
call fcn.10002720
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], 0xf
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x4c], 0
cmp eax, 0x10
jb 0x10059c57
inc eax
lea ecx, [ebp - 0x70]
push eax
push dword [ebp - 0x70]
call fcn.10002720
mov edx, dword [ebp - 0x54]
push ecx
lea ecx, [ebp - 0xa0]
call fcn.100198c0
add esp, 4
mov dword [ebp - 4], 6
cmp dword [eax + 0x14], 0x10
jb 0x10059c78
mov eax, dword [eax]
push eax
mov cl, 0x45
mov dword [ebp - 0x34], 0x24200d45
mov dword [ebp - 0x30], 0x652d3129
xor eax, eax
mov dword [ebp - 0x2c], 0x3660657f
mov byte [ebp - 0x28], 0
xor byte [ebp + eax - 0x33], cl
inc eax
cmp eax, 0xb
jae 0x10059ca5
mov cl, byte [ebp - 0x34]
jmp 0x10059c96
sub esp, 0x18
mov byte [ebp - 0x28], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10059cc6
mov eax, dword [edx]
jmp 0x10059cc8
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x33], 0
jne 0x10059cd5
xor ecx, ecx
jmp 0x10059ce9
lea ecx, [ebp - 0x33]
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10059ce0
sub ecx, esi
push ecx
lea eax, [ebp - 0x33]
mov ecx, edx
push eax
call fcn.10002840
lea eax, [ebp - 0x88]
push eax
call fcn.1000f610
add esp, 0x20
mov byte [ebp - 4], 7
mov edx, eax
mov ecx, dword [ebx + 0x3c]
call fcn.1001c270
mov eax, dword [ebp - 0x74]
cmp eax, 0x10
jb 0x10059d2d
inc eax
lea ecx, [ebp - 0x88]
push eax
push dword [ebp - 0x88]
call fcn.10002720
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
cmp eax, 0x10
jb 0x10059d60
inc eax
lea ecx, [ebp - 0xa0]
push eax
push dword [ebp - 0xa0]
call fcn.10002720
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4