Function at 0x10054e10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101ce2ac]
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 ah, ah
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov ebx, ebx
test ecx, ecx
test dl, dl
test eax, 0x6265
test cl, cl
mov ch, ch
mov dh, dh
mov ebx, ebx
xor esi, esi
mov dword [esp + 0x20], esi
mov ch, ch
mov dword [esp + 0x34], ebp
mov edi, edi
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov edx, edx
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov ebp, ebp
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10119c94
add esp, 0xc
test eax, eax
je 0x10054ebe
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.10119c94
add esp, 0xc
test eax, eax
jne 0x10054ec9
mov dword [esp + 0x34], ebx
test bh, bh
add edi, 2
mov ebp, ebp
push 0x101828fc
push edi
call fcn.101174c0
add esp, 8
test eax, eax
je 0x100550d1
test ch, ch
cmp edi, ebp
je 0x10055388
mov ebx, 0x64
mov edi, edi
cmp esi, 0xa
jge 0x10055384
test ecx, ecx
mov dword [esp + 0x38], ebp
test edi, edi
mov dword [esp + 0x40], ebp
mov bl, bl
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov ecx, ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
test cl, cl
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 bh, bh
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.10119565
add esp, 0x20
test al, al
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
xchg ebx, eax
xchg ebx, eax
cmp eax, ebp
jge 0x10055001
mov dword [esp + esi*4 + 0x6c], ebp
test eax, 0x7a70
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
test ecx, ecx
mov eax, 0x168
cmp edx, eax
jle 0x10055020
mov dword [esp + esi*4 + 0x44], eax
test edx, edx
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
test eax, 0x6011
cmp eax, ebp
jge 0x10055044
mov dword [esp + esi*4 + 0x94], ebp
test edx, edx
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
test ah, ah
cmp edx, ebx
jle 0x10055067
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
mov edx, edx
cmp eax, ebp
jge 0x10055085
mov dword [esp + esi*4 + 0x10c], ebp
test ah, ah
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
test edi, edi
cmp edx, ebx
jle 0x100550a5
mov dword [esp + esi*4 + 0xe4], ebx
mov al, al
push 0x10182558
push edi
call fcn.101174c0
add esp, 8
mov edi, eax
mov eax, eax
cmp edi, ebp
je 0x100550bf
add edi, 1
nop
add esi, 1
test bl, bl
cmp edi, ebp
jne 0x10054ef0
jmp 0x10055384
push 0x101828f8
push edi
call fcn.101174c0
add esp, 8
test eax, eax
je 0x100551d6
test edi, edi
cmp edi, ebp
je 0x10055388
mov ebx, 0x64
cmp esi, 0xa
jge 0x10055384
test ch, ch
mov dword [esp + 0x38], ebp
mov al, al
mov dword [esp + 0x40], 1
test dh, dh
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov edx, edx
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.10119565
add esp, 0x10
nop
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
test edx, edx
cmp eax, ebp
jge 0x10055187
mov dword [esp + esi*4 + 0x44], ebp
mov ah, ah
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov al, al
mov eax, 0xff
cmp edx, eax
jle 0x100551a9
mov dword [esp + esi*4 + 0x6c], eax
test eax, 0x2833
push 0x10182558
push edi
call fcn.101174c0
add esp, 8
mov edi, eax
test esi, esi
cmp edi, ebp
je 0x100551c4
add edi, 1
push ecx
pop ecx
add esi, 1
test dh, dh
cmp edi, ebp
jne 0x100550f6
jmp 0x10055384
mov dword [esp + 0x24], edi
test eax, 0x681f
cmp edi, ebp
je 0x10055388
jmp 0x100551f2
xor ebp, ebp
cmp esi, 0xa
jge 0x10055384
xor eax, eax
mov dword [esp + 0x1c], eax
test eax, 0x653f
mov dword [esp + 0x18], eax
mov cl, cl
test ch, ch
test bl, bl
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 esi, esi
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.10119565
add esp, 0x10
mov edi, edi
movzx edi, byte [esp + 0x1a]
mov bl, bl
movzx ebx, byte [esp + 0x19]
test bl, bl
mov ecx, dword [esp + 0x18]
and ecx, 0xff
test eax, 0x6856
movzx ebp, byte [esp + 0x1e]
test eax, 0x68ce
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
test eax, 0x6d05
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov ah, ah
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
test ah, ah
test eax, eax
jge 0x100552c1
mov dword [esp + esi*4 + 0xe4], 0
test dh, dh
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
test bl, bl
cmp edi, 0xff
jle 0x100552e1
mov dword [esp + esi*4 + 0x10c], 0xff
mov cl, cl
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
mov edx, edx
xor ebp, ebp
cmp eax, ebp
jge 0x10055304
mov dword [esp + esi*4 + 0xbc], ebp
test eax, 0x4791
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
test edi, edi
mov edi, 0xff
cmp ebx, edi
jle 0x10055321
mov dword [esp + esi*4 + 0x94], edi
test cl, cl
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
test eax, 0x54a4
cmp eax, ebp
jge 0x10055338
mov dword [esp + esi*4 + 0x6c], ebp
mov esi, esi
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
test eax, 0x471f
cmp ecx, edi
jle 0x1005534d
mov dword [esp + esi*4 + 0x44], edi
test ebx, ebx
mov eax, dword [esp + 0x24]
push 0x10182558
push eax
call fcn.101174c0
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
cmp eax, ebp
je 0x10055375
add eax, 1
mov dword [esp + 0x24], eax
test eax, 0x6598
add esi, 1
push eax
pop eax
cmp eax, ebp
jne 0x100551f0
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.1011671b
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
test bl, bl
mov eax, dword [ecx]
cmp eax, ebp
jne 0x100553c0
mov edx, dword [esp + 0x3c]
push edx
call fcn.101167de
add esp, 4
mov ebx, ebx
xor eax, eax
jmp 0x100557bf
cmp dword [esp + 0x34], ebp
je 0x100553dd
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.10117df0
add esp, 0xc
test dl, dl
jmp 0x100553f1
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.10117df0
add esp, 0xc
mov edx, edx
nop
mov edi, edi
cmp dword [esi + 8], ebp
jle 0x100557ab
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
jmp 0x10055410
test cl, cl
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x1005578d
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
lea esp, [esp]
cmp dword [esp + 0x38], 0
je 0x1005554d
test ch, ch
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10055776
lea esp, [esp]
test ecx, ecx
cmp dword [esp + 0x34], 0
jne 0x1005546f
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 0x10055483
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 0x10055776
movzx edx, byte [ebx + 1]
test edi, edi
movzx esi, byte [ebx]
mov al, al
mov eax, dword [ebx - 1]
and eax, 0xff
mov ch, ch
cmp dword [esp + 0x34], 0
jne 0x100554f1
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10055537
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10055537
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10055537
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10055537
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10055537
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10055537
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 bl, bl
jmp 0x10055537
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10055537
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10055537
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10055537
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10055537
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10055537
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10055537
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
mov dl, dl
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10055450
jmp 0x10055776
cmp dword [esp + 0x40], 0
je 0x10055640
push ecx
pop ecx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10055776
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push ecx
pop ecx
push ebx
pop ebx
test edx, edx
jne 0x1005558c
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x10055598
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x10055776
movzx edx, byte [ebx + 1]
mov ebx, ebx
movzx ecx, byte [ebx]
push ebx
pop ebx
mov eax, dword [ebx - 1]
and eax, 0xff
push eax
pop eax
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x100555f7
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10055622
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10055622
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 esi, esi
mov esi, dword [esp + 0x24]
jmp 0x1005562a
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10055622
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10055622
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 eax, 0xb8a
mov esi, dword [esp + 0x24]
jmp 0x1005562a
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10055576
jmp 0x10055776
xchg ebx, eax
xchg ebx, eax
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10055776
mov edi, edi
test edi, edi
mov bl, bl
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 0x10055671
cmp byte [edx + edi], 1
jmp 0x10055675
cmp byte [edx + edi], 0
je 0x10055776
movzx ecx, byte [ebx + 1]
mov ch, ch
movzx edx, byte [ebx]
mov ebx, ebx
mov eax, dword [ebx - 1]
and eax, 0xff
test bh, bh
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.10052960
add esp, 0x18
mov al, al
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10055717
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10055765
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10055765
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10055765
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10055765
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10055765
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10055765
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 eax, eax
jmp 0x10055765
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10055765
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10055765
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10055765
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10055765
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10055765
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10055765
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 ebp, ebp
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10055650
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10055430
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10055410
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.101167de
add esp, 4
test ah, ah
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10116cb9
add esp, 0x144
ret