Function at 0x100544a0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101ce2f4]
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
test al, al
xor ebp, ebp
mov dword [esp + 0x40], ebp
nop
test eax, 0x77a
mov ebp, ebp
test ch, ch
mov eax, eax
mov cl, cl
push edx
pop edx
mov bh, bh
xor esi, esi
mov dword [esp + 0x20], esi
mov ebx, ebx
mov dword [esp + 0x34], ebp
mov ch, ch
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
test eax, 0x723e
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov ch, ch
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1011a154
add esp, 0xc
test eax, eax
je 0x10054550
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a154
add esp, 0xc
test eax, eax
jne 0x1005455b
mov dword [esp + 0x34], ebx
test esi, esi
add edi, 2
push eax
pop eax
push 0x101828ec
push edi
call fcn.10117980
add esp, 8
test eax, eax
je 0x1005476e
mov bh, bh
cmp edi, ebp
je 0x10054a1f
mov ebx, 0x64
cmp byte [edi], 0
je 0x10054a1b
cmp esi, 0xa
jge 0x10054a1b
mov edi, edi
mov dword [esp + 0x38], ebp
mov al, al
mov dword [esp + 0x40], ebp
test dh, dh
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov ebp, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov edx, edx
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 dl, dl
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.10119a25
add esp, 0x20
test eax, 0x12d9
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
test eax, 0x6bba
cmp eax, ebp
jge 0x1005469d
mov dword [esp + esi*4 + 0x6c], ebp
mov ecx, ecx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov bl, bl
mov eax, 0x168
cmp edx, eax
jle 0x100546bc
mov dword [esp + esi*4 + 0x44], eax
push ebx
pop ebx
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
xchg ebx, eax
xchg ebx, eax
cmp eax, ebp
jge 0x100546dd
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 ebx, ebx
cmp edx, ebx
jle 0x10054703
mov dword [esp + esi*4 + 0xbc], ebx
test eax, 0x5f56
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
mov dl, dl
cmp eax, ebp
jge 0x10054721
mov dword [esp + esi*4 + 0x10c], ebp
test edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
test eax, eax
cmp edx, ebx
jle 0x10054741
mov dword [esp + esi*4 + 0xe4], ebx
push eax
pop eax
push 0x10182548
push edi
call fcn.10117980
add esp, 8
mov edi, eax
test esi, esi
cmp edi, ebp
je 0x1005475c
add edi, 1
test dl, dl
add esi, 1
test edx, edx
cmp edi, ebp
jne 0x10054580
jmp 0x10054a1b
push 0x101828e8
push edi
call fcn.10117980
add esp, 8
test eax, eax
je 0x1005487a
test ch, ch
cmp edi, ebp
je 0x10054a1f
mov ebx, 0x64
cmp byte [edi], 0
je 0x10054a1b
cmp esi, 0xa
jge 0x10054a1b
test ecx, ecx
mov dword [esp + 0x38], ebp
mov ch, ch
mov dword [esp + 0x40], 1
mov ecx, ecx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
push eax
pop eax
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 cl, cl
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.10119a25
add esp, 0x10
mov edi, edi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov cl, cl
cmp eax, ebp
jge 0x1005482e
mov dword [esp + esi*4 + 0x44], ebp
test dh, dh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov edi, edi
mov eax, 0xff
cmp edx, eax
jle 0x1005484d
mov dword [esp + esi*4 + 0x6c], eax
test edx, edx
push 0x10182548
push edi
call fcn.10117980
add esp, 8
mov edi, eax
test dl, dl
cmp edi, ebp
je 0x10054868
add edi, 1
mov bh, bh
add esi, 1
mov eax, eax
cmp edi, ebp
jne 0x10054793
jmp 0x10054a1b
mov dword [esp + 0x24], edi
test cl, cl
cmp edi, ebp
je 0x10054a1f
jmp 0x10054892
xor ebp, ebp
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x10054a1b
cmp esi, 0xa
jge 0x10054a1b
xor eax, eax
mov dword [esp + 0x1c], eax
test edi, edi
mov dword [esp + 0x18], eax
mov bl, bl
push ebx
pop ebx
test ebx, ebx
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
nop
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.10119a25
add esp, 0x10
test esi, esi
movzx edi, byte [esp + 0x1a]
mov al, al
movzx ebx, byte [esp + 0x19]
test dh, dh
mov ecx, dword [esp + 0x18]
and ecx, 0xff
push eax
pop eax
movzx ebp, byte [esp + 0x1e]
mov al, al
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
mov bh, bh
mov edx, dword [esp + 0x1c]
and edx, 0xff
push eax
pop eax
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov al, al
test eax, eax
jge 0x10054961
mov dword [esp + esi*4 + 0xe4], 0
test bl, bl
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov al, al
cmp edi, 0xff
jle 0x10054981
mov dword [esp + esi*4 + 0x10c], 0xff
mov bl, bl
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
mov al, al
xor ebp, ebp
cmp eax, ebp
jge 0x100549a1
mov dword [esp + esi*4 + 0xbc], ebp
test eax, eax
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
push ecx
pop ecx
mov edi, 0xff
cmp ebx, edi
jle 0x100549be
mov dword [esp + esi*4 + 0x94], edi
test cl, cl
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov edi, edi
cmp eax, ebp
jge 0x100549d2
mov dword [esp + esi*4 + 0x6c], ebp
test esi, esi
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
test al, al
cmp ecx, edi
jle 0x100549e4
mov dword [esp + esi*4 + 0x44], edi
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x24]
push 0x10182548
push eax
call fcn.10117980
add esp, 8
mov dword [esp + 0x24], eax
test eax, 0x112b
cmp eax, ebp
je 0x10054a0c
add eax, 1
mov dword [esp + 0x24], eax
test bl, bl
add esi, 1
test ecx, ecx
cmp eax, ebp
jne 0x10054890
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.10116bdc
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
test edx, edx
mov eax, dword [ecx]
cmp eax, ebp
jne 0x10054a57
mov edx, dword [esp + 0x3c]
push edx
call fcn.10116c9f
add esp, 4
test ebx, ebx
xor eax, eax
jmp 0x10054e53
cmp dword [esp + 0x34], ebp
je 0x10054a74
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.101182b0
add esp, 0xc
mov dl, dl
jmp 0x10054a88
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.101182b0
add esp, 0xc
mov edi, edi
mov ecx, ecx
push ebx
pop ebx
cmp dword [esi + 8], ebp
jle 0x10054e3f
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov eax, eax
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x10054e21
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
nop
cmp dword [esp + 0x38], 0
je 0x10054be4
mov ebx, ebx
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10054e0a
lea esp, [esp]
mov ecx, ecx
cmp dword [esp + 0x34], 0
jne 0x10054aff
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 0x10054b13
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 0x10054e0a
movzx edx, byte [ebx + 1]
push ebx
pop ebx
movzx esi, byte [ebx]
test bh, bh
mov eax, dword [ebx - 1]
and eax, 0xff
mov edx, edx
cmp dword [esp + 0x34], 0
jne 0x10054b85
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10054bce
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10054bce
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10054bce
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10054bce
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10054bce
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10054bce
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 eax
pop eax
jmp 0x10054bce
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10054bce
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10054bce
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10054bce
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10054bce
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10054bce
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10054bce
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
test eax, 0x471f
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10054ae0
jmp 0x10054e0a
cmp dword [esp + 0x40], 0
je 0x10054cda
test bl, bl
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10054e0a
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
lea ecx, [ecx]
mov ch, ch
test cl, cl
test edx, edx
jne 0x10054c26
mov edx, dword [eax + 8]
imul edx, edi
add edx, dword [ecx]
cmp byte [edx + ebp], 1
jmp 0x10054c32
mov eax, dword [eax + 8]
imul eax, edi
add eax, dword [ecx]
cmp byte [eax + ebp], 0
je 0x10054e0a
movzx edx, byte [ebx + 1]
test cl, cl
movzx ecx, byte [ebx]
mov dh, dh
mov eax, dword [ebx - 1]
and eax, 0xff
test bl, bl
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, 0x1632
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10054c94
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10054cbc
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10054cbc
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
test eax, eax
mov esi, dword [esp + 0x24]
jmp 0x10054cc4
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10054cbc
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10054cbc
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 dh, dh
mov esi, dword [esp + 0x24]
jmp 0x10054cc4
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10054c10
jmp 0x10054e0a
test eax, eax
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10054e0a
mov bh, bh
mov al, al
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 0x10054d09
cmp byte [edx + ebp], 1
jmp 0x10054d0d
cmp byte [edx + ebp], 0
je 0x10054e0a
movzx ecx, byte [ebx + 1]
mov eax, eax
movzx edx, byte [ebx]
mov dl, dl
mov eax, dword [ebx - 1]
and eax, 0xff
mov esi, esi
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.10052c80
add esp, 0x18
mov bl, bl
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10054dab
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10054df9
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10054df9
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10054df9
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10054df9
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10054df9
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10054df9
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
xchg ebx, eax
xchg ebx, eax
jmp 0x10054df9
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10054df9
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10054df9
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10054df9
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10054df9
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10054df9
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10054df9
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
mov ecx, ecx
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10054ce8
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10054ac0
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10054aa3
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10116c9f
add esp, 4
test ch, ch
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1011717a
add esp, 0x144
ret