Function at 0x10055130
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 bh, bh
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov bh, bh
test eax, 0x6e2
test bl, bl
test dl, dl
mov ecx, ecx
test ah, ah
mov ah, ah
xchg ebx, eax
xchg ebx, eax
xor esi, esi
mov dword [esp + 0x20], esi
mov ebx, ebx
mov dword [esp + 0x34], ebp
push edx
pop edx
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
test eax, 0x62ba
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
xchg ebx, eax
xchg ebx, eax
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1011a154
add esp, 0xc
test eax, eax
je 0x100551e1
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a154
add esp, 0xc
test eax, eax
jne 0x100551ef
mov dword [esp + 0x34], ebx
test eax, 0x211d
add edi, 2
test bh, bh
push 0x101828ec
push edi
call fcn.10117980
add esp, 8
test eax, eax
je 0x100553f5
mov dl, dl
cmp edi, ebp
je 0x100556a5
mov ebx, 0x64
cmp esi, 0xa
jge 0x100556a1
mov ebp, ebp
mov dword [esp + 0x38], ebp
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x40], ebp
test esi, esi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov cl, cl
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
test eax, 0x48e8
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
test eax, eax
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 ecx, ecx
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
test dh, dh
cmp eax, ebp
jge 0x10055325
mov dword [esp + esi*4 + 0x6c], ebp
mov ch, ch
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
push edx
pop edx
mov eax, 0x168
cmp edx, eax
jle 0x10055344
mov dword [esp + esi*4 + 0x44], eax
test eax, eax
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
mov ch, ch
cmp eax, ebp
jge 0x10055364
mov dword [esp + esi*4 + 0x94], ebp
nop
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov bh, bh
cmp edx, ebx
jle 0x10055387
mov dword [esp + esi*4 + 0xbc], ebx
push ebx
pop ebx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
mov ah, ah
cmp eax, ebp
jge 0x100553a5
mov dword [esp + esi*4 + 0x10c], ebp
push eax
pop eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
test dl, dl
cmp edx, ebx
jle 0x100553c5
mov dword [esp + esi*4 + 0xe4], ebx
test edx, edx
push 0x10182548
push edi
call fcn.10117980
add esp, 8
mov edi, eax
test dh, dh
cmp edi, ebp
je 0x100553e3
add edi, 1
test eax, 0x6783
add esi, 1
mov ebx, ebx
cmp edi, ebp
jne 0x10055214
jmp 0x100556a1
push 0x101828e8
push edi
call fcn.10117980
add esp, 8
test eax, eax
je 0x10055504
test eax, 0x7977
cmp edi, ebp
je 0x100556a5
mov ebx, 0x64
lea ecx, [ecx]
cmp esi, 0xa
jge 0x100556a1
test dh, dh
mov dword [esp + 0x38], ebp
push ebx
pop ebx
mov dword [esp + 0x40], 1
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov esi, esi
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
test eax, 0x456d
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
test cl, cl
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov dh, dh
cmp eax, ebp
jge 0x100554b5
mov dword [esp + esi*4 + 0x44], ebp
test eax, eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
test ah, ah
mov eax, 0xff
cmp edx, eax
jle 0x100554d4
mov dword [esp + esi*4 + 0x6c], eax
mov bh, bh
push 0x10182548
push edi
call fcn.10117980
add esp, 8
mov edi, eax
test ecx, ecx
cmp edi, ebp
je 0x100554f2
add edi, 1
test eax, 0x2f04
add esi, 1
mov edx, edx
cmp edi, ebp
jne 0x10055420
jmp 0x100556a1
mov dword [esp + 0x24], edi
test eax, 0x38a4
cmp edi, ebp
je 0x100556a5
jmp 0x10055522
xor ebp, ebp
cmp esi, 0xa
jge 0x100556a1
xor eax, eax
mov dword [esp + 0x1c], eax
test ebx, ebx
mov dword [esp + 0x18], eax
test bh, bh
mov al, al
mov ah, ah
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 eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x13c]
push edx
push eax
call fcn.10119a25
add esp, 0x10
test bh, bh
movzx edi, byte [esp + 0x1a]
test edi, edi
movzx ebx, byte [esp + 0x19]
push eax
pop eax
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov dh, dh
movzx ebp, byte [esp + 0x1e]
test ah, ah
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov al, al
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
test eax, 0x728e
test eax, eax
jge 0x100555e7
mov dword [esp + esi*4 + 0xe4], 0
xchg ebx, eax
xchg ebx, eax
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
push edx
pop edx
cmp edi, 0xff
jle 0x10055607
mov dword [esp + esi*4 + 0x10c], 0xff
xchg ebx, eax
xchg ebx, eax
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
test ebx, ebx
xor ebp, ebp
cmp eax, ebp
jge 0x10055627
mov dword [esp + esi*4 + 0xbc], ebp
test edx, edx
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
test eax, 0x2fc3
mov edi, 0xff
cmp ebx, edi
jle 0x10055647
mov dword [esp + esi*4 + 0x94], edi
push ebx
pop ebx
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov ecx, ecx
cmp eax, ebp
jge 0x1005565b
mov dword [esp + esi*4 + 0x6c], ebp
mov edi, edi
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
mov dh, dh
cmp ecx, edi
jle 0x1005566d
mov dword [esp + esi*4 + 0x44], edi
push ecx
pop ecx
mov eax, dword [esp + 0x24]
push 0x10182548
push eax
call fcn.10117980
add esp, 8
mov dword [esp + 0x24], eax
mov cl, cl
cmp eax, ebp
je 0x10055692
add eax, 1
mov dword [esp + 0x24], eax
mov ecx, ecx
add esi, 1
mov al, al
cmp eax, ebp
jne 0x10055520
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
mov edi, edi
mov eax, dword [ecx]
cmp eax, ebp
jne 0x100556dd
mov edx, dword [esp + 0x3c]
push edx
call fcn.10116c9f
add esp, 4
test esi, esi
xor eax, eax
jmp 0x10055ae6
cmp dword [esp + 0x34], ebp
je 0x100556fa
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.101182b0
add esp, 0xc
mov bh, bh
jmp 0x1005570e
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.101182b0
add esp, 0xc
mov eax, eax
mov cl, cl
mov bl, bl
cmp dword [esi + 8], ebp
jle 0x10055ad2
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
lea esp, [esp]
mov ah, ah
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x10055ab4
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
lea esp, [esp]
cmp dword [esp + 0x38], 0
je 0x10055873
mov bh, bh
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10055a9d
lea esp, [esp]
test dl, dl
cmp dword [esp + 0x34], 0
jne 0x1005578f
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x30]
imul eax, ebp
add eax, dword [edx]
cmp byte [eax + edi], 1
jmp 0x100557a3
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x30]
imul edx, ebp
add edx, dword [eax]
cmp byte [edx + edi], 0
je 0x10055a9d
movzx edx, byte [ebx + 1]
push ecx
pop ecx
movzx esi, byte [ebx]
test cl, cl
mov eax, dword [ebx - 1]
and eax, 0xff
mov bl, bl
cmp dword [esp + 0x34], 0
jne 0x10055818
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1005585d
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1005585d
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1005585d
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1005585d
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1005585d
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1005585d
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x30]
imul eax, ebp
add eax, dword [edx]
mov byte [eax + edi], 1
test eax, 0x7f7d
jmp 0x1005585d
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1005585d
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1005585d
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1005585d
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1005585d
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1005585d
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1005585d
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x30]
imul edx, ebp
add edx, dword [eax]
mov byte [edx + edi], 0
nop
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10055770
jmp 0x10055a9d
cmp dword [esp + 0x40], 0
je 0x10055969
mov ecx, ecx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10055a9d
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
lea esp, [esp]
test ah, ah
mov ebx, ebx
test edx, edx
jne 0x100558b6
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x100558c2
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x10055a9d
movzx edx, byte [ebx + 1]
mov ah, ah
movzx ecx, byte [ebx]
test ch, ch
mov eax, dword [ebx - 1]
and eax, 0xff
test eax, 0x2b8b
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
nop
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10055923
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1005594b
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1005594b
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x30]
imul esi, ebp
add esi, dword [ecx]
mov byte [esi + edi], 1
test ecx, ecx
mov esi, dword [esp + 0x24]
jmp 0x10055953
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1005594b
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1005594b
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + 4]
mov ecx, dword [esp + 0x30]
imul esi, ebp
add esi, dword [ecx]
mov byte [esi + edi], 0
test ebx, ebx
mov esi, dword [esp + 0x24]
jmp 0x10055953
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x100558a0
jmp 0x10055a9d
test al, al
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10055a9d
mov bh, bh
test edi, edi
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x30]
imul edx, ebp
add edx, dword [eax]
cmp dword [esp + 0x34], 0
jne 0x10055998
cmp byte [edx + edi], 1
jmp 0x1005599c
cmp byte [edx + edi], 0
je 0x10055a9d
movzx ecx, byte [ebx + 1]
mov edi, edi
movzx edx, byte [ebx]
mov ecx, ecx
mov eax, dword [ebx - 1]
and eax, 0xff
test edi, edi
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 ch, ch
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10055a3e
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10055a8c
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10055a8c
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10055a8c
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10055a8c
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10055a8c
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10055a8c
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x30]
imul edx, ebp
add edx, dword [eax]
mov byte [edx + edi], 1
mov esi, esi
jmp 0x10055a8c
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10055a8c
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10055a8c
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10055a8c
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10055a8c
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10055a8c
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10055a8c
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x30]
imul edx, ebp
add edx, dword [eax]
mov byte [edx + edi], 0
mov dl, dl
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10055977
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10055750
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10055730
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10116c9f
add esp, 4
mov dh, dh
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