Function at 0x10027930
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x10132f1c]
xor eax, esp
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x14c]
push ebx
push ebp
push esi
mov ebx, 1
push edi
mov edi, dword [esp + 0x158]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ebx
mov eax, eax
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov ah, ah
mov edx, edx
push eax
pop eax
mov bh, bh
mov dh, dh
mov edi, edi
mov cl, cl
push edx
pop edx
xor esi, esi
mov dword [esp + 0x20], esi
mov esi, esi
mov dword [esp + 0x34], ebp
mov eax, eax
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov ch, ch
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov edx, edx
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.100acc84
add esp, 0xc
test eax, eax
je 0x100279db
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.100acc84
add esp, 0xc
test eax, eax
jne 0x100279e6
mov dword [esp + 0x34], ebx
mov edx, edx
add edi, 2
mov cl, cl
push 0x100eea24
push edi
call fcn.100aac20
add esp, 8
test eax, eax
je 0x10027bf5
mov ebx, ebx
cmp edi, ebp
je 0x10027ea2
mov ebx, 0x64
jmp 0x10027a10
cmp byte [edi], 0
je 0x10027e9e
cmp esi, 0xa
jge 0x10027e9e
mov eax, eax
mov dword [esp + 0x38], ebp
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x40], ebp
mov ch, ch
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov esi, esi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov esi, esi
mov byte [esp + 0x13c], 0x25
mov byte [esp + 0x13d], bl
mov byte [esp + 0x13e], 0x2e
mov byte [esp + 0x13f], 0x25
mov byte [esp + 0x140], bl
mov byte [esp + 0x141], 0x2e
mov byte [esp + 0x142], 0x25
mov byte [esp + 0x143], bl
mov byte [esp + 0x144], 0x2d
mov byte [esp + 0x145], 0x25
mov byte [esp + 0x146], bl
mov byte [esp + 0x147], 0x2e
mov byte [esp + 0x148], 0x25
mov byte [esp + 0x149], bl
mov byte [esp + 0x14a], 0x2e
mov byte [esp + 0x14b], 0x25
mov byte [esp + 0x14c], bl
mov byte [esp + 0x14d], 0
mov ebp, ebp
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x144]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x154]
push edx
push edi
call fcn.100ac52d
add esp, 0x20
mov ebx, ebx
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
mov edx, edx
cmp eax, ebp
jge 0x10027b27
mov dword [esp + esi*4 + 0x6c], ebp
push eax
pop eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov al, al
mov eax, 0x168
cmp edx, eax
jle 0x10027b46
mov dword [esp + esi*4 + 0x44], eax
mov ch, ch
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
mov bl, bl
cmp eax, ebp
jge 0x10027b67
mov dword [esp + esi*4 + 0x94], ebp
mov dh, dh
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov cl, cl
cmp edx, ebx
jle 0x10027b8a
mov dword [esp + esi*4 + 0xbc], ebx
mov ebx, ebx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
push edx
pop edx
cmp eax, ebp
jge 0x10027ba8
mov dword [esp + esi*4 + 0x10c], ebp
mov edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov bl, bl
cmp edx, ebx
jle 0x10027bc8
mov dword [esp + esi*4 + 0xe4], ebx
mov esi, esi
push 0x100ee8e4
push edi
call fcn.100aac20
add esp, 8
mov edi, eax
push edx
pop edx
cmp edi, ebp
je 0x10027be3
add edi, 1
mov cl, cl
add esi, 1
mov ah, ah
cmp edi, ebp
jne 0x10027a10
jmp 0x10027e9e
push 0x100eea20
push edi
call fcn.100aac20
add esp, 8
test eax, eax
je 0x10027d07
xchg ebx, eax
xchg ebx, eax
cmp edi, ebp
je 0x10027ea2
mov ebx, 0x64
lea ebx, [ebx]
cmp byte [edi], 0
je 0x10027e9e
cmp esi, 0xa
jge 0x10027e9e
push eax
pop eax
mov dword [esp + 0x38], ebp
mov cl, cl
mov dword [esp + 0x40], 1
mov cl, cl
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov ecx, ecx
mov byte [esp + 0x134], 0x23
mov byte [esp + 0x135], 0x25
mov byte [esp + 0x136], bl
mov byte [esp + 0x137], 0x2d
mov byte [esp + 0x138], 0x25
mov byte [esp + 0x139], bl
mov byte [esp + 0x13a], 0
mov eax, eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.100ac52d
add esp, 0x10
mov al, al
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov bl, bl
cmp eax, ebp
jge 0x10027cbb
mov dword [esp + esi*4 + 0x44], ebp
mov edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
push ebx
pop ebx
mov eax, 0xff
cmp edx, eax
jle 0x10027cda
mov dword [esp + esi*4 + 0x6c], eax
push edx
pop edx
push 0x100ee8e4
push edi
call fcn.100aac20
add esp, 8
mov edi, eax
mov ah, ah
cmp edi, ebp
je 0x10027cf5
add edi, 1
mov edx, edx
add esi, 1
mov ecx, ecx
cmp edi, ebp
jne 0x10027c20
jmp 0x10027e9e
mov dword [esp + 0x24], edi
mov edx, edx
cmp edi, ebp
je 0x10027ea2
jmp 0x10027d19
xor ebp, ebp
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x10027e9e
cmp esi, 0xa
jge 0x10027e9e
xor eax, eax
mov dword [esp + 0x1c], eax
mov al, al
mov dword [esp + 0x18], eax
mov edi, edi
mov bh, bh
mov ecx, ecx
mov byte [esp + 0x134], 0x25
mov byte [esp + 0x135], 0x78
mov byte [esp + 0x136], 0x2d
mov byte [esp + 0x137], 0x25
mov byte [esp + 0x138], 0x78
mov byte [esp + 0x139], al
mov dl, dl
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x13c]
push eax
push ecx
call fcn.100ac52d
add esp, 0x10
mov ebp, ebp
movzx edi, byte [esp + 0x1a]
push ebx
pop ebx
movzx ebx, byte [esp + 0x19]
mov al, al
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov edx, edx
movzx ebp, byte [esp + 0x1e]
push edx
pop edx
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
mov edi, edi
mov edx, dword [esp + 0x1c]
and edx, 0xff
nop
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov bl, bl
test eax, eax
jge 0x10027de8
mov dword [esp + esi*4 + 0xe4], 0
mov cl, cl
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov cl, cl
cmp edi, 0xff
jle 0x10027e08
mov dword [esp + esi*4 + 0x10c], 0xff
mov ebp, ebp
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
nop
xor ebp, ebp
cmp eax, ebp
jge 0x10027e27
mov dword [esp + esi*4 + 0xbc], ebp
mov dh, dh
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov esi, esi
mov edi, 0xff
cmp ebx, edi
jle 0x10027e44
mov dword [esp + esi*4 + 0x94], edi
mov al, al
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
push ebx
pop ebx
cmp eax, ebp
jge 0x10027e58
mov dword [esp + esi*4 + 0x6c], ebp
mov ch, ch
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
push ebx
pop ebx
cmp ecx, edi
jle 0x10027e6a
mov dword [esp + esi*4 + 0x44], edi
mov ebx, ebx
mov eax, dword [esp + 0x24]
push 0x100ee8e4
push eax
call fcn.100aac20
add esp, 8
mov dword [esp + 0x24], eax
mov ch, ch
cmp eax, ebp
je 0x10027e8f
add eax, 1
mov dword [esp + 0x24], eax
mov edi, edi
add esi, 1
mov ebx, ebx
cmp eax, ebp
jne 0x10027d17
xor ebp, ebp
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x2c]
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
call fcn.100aa0a8
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov bl, bl
mov eax, dword [ecx]
cmp eax, ebp
jne 0x10027eda
mov edx, dword [esp + 0x3c]
push edx
call fcn.100aa16b
add esp, 4
mov esi, esi
xor eax, eax
jmp 0x100282cb
cmp dword [esp + 0x34], ebp
je 0x10027ef7
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.100aacb0
add esp, 0xc
mov edx, edx
jmp 0x10027f0b
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.100aacb0
add esp, 0xc
mov bl, bl
mov edi, edi
mov eax, eax
cmp dword [esi + 8], ebp
jle 0x100282b7
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov bh, bh
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x10028299
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x38], 0
je 0x1002805d
mov ebx, ebx
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10028282
jmp 0x10027f60
mov ebp, ebp
cmp dword [esp + 0x34], 0
jne 0x10027f7f
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x30]
imul eax, edi
add eax, dword [edx]
cmp byte [eax + ebp], 1
jmp 0x10027f93
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x30]
imul edx, edi
add edx, dword [eax]
cmp byte [edx + ebp], 0
je 0x10028282
movzx edx, byte [ebx + 1]
mov dh, dh
movzx esi, byte [ebx]
push ecx
pop ecx
mov eax, dword [ebx - 1]
and eax, 0xff
mov ah, ah
cmp dword [esp + 0x34], 0
jne 0x10028001
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10028047
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10028047
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10028047
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10028047
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10028047
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10028047
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x30]
imul eax, edi
add eax, dword [edx]
mov byte [eax + ebp], 1
push edx
pop edx
jmp 0x10028047
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10028047
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10028047
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10028047
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10028047
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10028047
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10028047
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x30]
imul edx, edi
add edx, dword [eax]
mov byte [edx + ebp], 0
mov edi, edi
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10027f60
jmp 0x10028282
cmp dword [esp + 0x40], 0
je 0x1002814d
mov ebx, ebx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10028282
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov ecx, ecx
mov ch, ch
test edx, edx
jne 0x1002809c
mov edx, dword [eax + 8]
imul edx, edi
add edx, dword [ecx]
cmp byte [edx + ebp], 1
jmp 0x100280a8
mov eax, dword [eax + 8]
imul eax, edi
add eax, dword [ecx]
cmp byte [eax + ebp], 0
je 0x10028282
movzx edx, byte [ebx + 1]
mov esi, esi
movzx ecx, byte [ebx]
mov ebp, ebp
mov eax, dword [ebx - 1]
and eax, 0xff
push ecx
pop ecx
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, cl
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10028107
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1002812f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1002812f
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 8]
mov ecx, dword [esp + 0x30]
imul esi, edi
add esi, dword [ecx]
mov byte [esi + ebp], 1
mov edx, edx
mov esi, dword [esp + 0x24]
jmp 0x10028137
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1002812f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1002812f
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 8]
mov ecx, dword [esp + 0x30]
imul esi, edi
add esi, dword [ecx]
mov byte [esi + ebp], 0
mov bl, bl
mov esi, dword [esp + 0x24]
jmp 0x10028137
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10028086
jmp 0x10028282
push ecx
pop ecx
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10028282
jmp 0x10028160
push ebx
pop ebx
mov eax, eax
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x30]
imul edx, edi
add edx, dword [eax]
cmp dword [esp + 0x34], 0
jne 0x10028181
cmp byte [edx + ebp], 1
jmp 0x10028185
cmp byte [edx + ebp], 0
je 0x10028282
movzx ecx, byte [ebx + 1]
mov cl, cl
movzx edx, byte [ebx]
push ecx
pop ecx
mov eax, dword [ebx - 1]
and eax, 0xff
push ebx
pop ebx
lea ebx, [esp + 0x18]
push ebx
lea ebx, [esp + 0x20]
push ebx
lea ebx, [esp + 0x30]
push ebx
push eax
push edx
push ecx
call fcn.100260f0
add esp, 0x18
push ebx
pop ebx
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10028223
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10028271
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10028271
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10028271
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10028271
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10028271
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10028271
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x30]
imul edx, edi
add edx, dword [eax]
mov byte [edx + ebp], 1
mov eax, eax
jmp 0x10028271
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10028271
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10028271
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10028271
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10028271
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10028271
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10028271
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 8]
mov eax, dword [esp + 0x30]
imul edx, edi
add edx, dword [eax]
mov byte [edx + ebp], 0
push eax
pop eax
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10028160
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10027f42
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10027f26
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.100aa16b
add esp, 4
mov al, al
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100aa646
add esp, 0x144
ret