Function at 0x10054ca0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101ce00c]
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 bl, bl
xor ebp, ebp
mov dword [esp + 0x40], ebp
test edx, edx
mov bl, bl
mov ah, ah
test dl, dl
push ecx
pop ecx
mov ah, ah
mov al, al
test ebx, ebx
xor esi, esi
mov dword [esp + 0x20], esi
mov al, al
mov dword [esp + 0x34], ebp
test dh, dh
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov esi, esi
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
test edx, edx
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1011a744
add esp, 0xc
test eax, eax
je 0x10054d4b
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a744
add esp, 0xc
test eax, eax
jne 0x10054d55
mov dword [esp + 0x34], ebx
nop
add edi, 2
push edx
pop edx
push 0x10181b84
push edi
call fcn.101186e0
add esp, 8
test eax, eax
je 0x10054f65
mov ecx, ecx
cmp edi, ebp
je 0x10055225
mov ebx, 0x64
lea ebx, [ebx]
cmp byte [edi], 0
je 0x10055221
cmp esi, 0xa
jge 0x10055221
mov bl, bl
mov dword [esp + 0x38], ebp
mov ebp, ebp
mov dword [esp + 0x40], ebp
test bh, bh
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
test ah, ah
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
push edx
pop 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
push ecx
pop ecx
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.1011a25d
add esp, 0x20
test edi, edi
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
test ecx, ecx
cmp eax, ebp
jge 0x10054e97
mov dword [esp + esi*4 + 0x6c], ebp
test esi, esi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
test bh, bh
mov eax, 0x168
cmp edx, eax
jle 0x10054eb6
mov dword [esp + esi*4 + 0x44], eax
test bh, bh
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
mov ecx, ecx
cmp eax, ebp
jge 0x10054ed7
mov dword [esp + esi*4 + 0x94], ebp
test edi, edi
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
test dl, dl
cmp edx, ebx
jle 0x10054efa
mov dword [esp + esi*4 + 0xbc], ebx
mov eax, eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
test bh, bh
cmp eax, ebp
jge 0x10054f18
mov dword [esp + esi*4 + 0x10c], ebp
test bl, bl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov bh, bh
cmp edx, ebx
jle 0x10054f38
mov dword [esp + esi*4 + 0xe4], ebx
mov al, al
push 0x10181a24
push edi
call fcn.101186e0
add esp, 8
mov edi, eax
mov dl, dl
cmp edi, ebp
je 0x10054f53
add edi, 1
mov dh, dh
add esi, 1
test ecx, ecx
cmp edi, ebp
jne 0x10054d80
jmp 0x10055221
push 0x10181b80
push edi
call fcn.101186e0
add esp, 8
test eax, eax
je 0x1005507d
mov ebx, ebx
cmp edi, ebp
je 0x10055225
mov ebx, 0x64
lea ebx, [ebx]
cmp byte [edi], 0
je 0x10055221
cmp esi, 0xa
jge 0x10055221
mov eax, eax
mov dword [esp + 0x38], ebp
mov esi, esi
mov dword [esp + 0x40], 1
test ch, ch
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
test eax, 0x68cd
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 ecx, ecx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.1011a25d
add esp, 0x10
test esi, esi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
push ecx
pop ecx
cmp eax, ebp
jge 0x1005502e
mov dword [esp + esi*4 + 0x44], ebp
test ebx, ebx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
test edx, edx
mov eax, 0xff
cmp edx, eax
jle 0x1005504d
mov dword [esp + esi*4 + 0x6c], eax
mov ah, ah
push 0x10181a24
push edi
call fcn.101186e0
add esp, 8
mov edi, eax
test eax, 0x1406
cmp edi, ebp
je 0x1005506b
add edi, 1
mov ebp, ebp
add esi, 1
push eax
pop eax
cmp edi, ebp
jne 0x10054f90
jmp 0x10055221
mov dword [esp + 0x24], edi
mov edi, edi
cmp edi, ebp
je 0x10055225
jmp 0x10055092
xor ebp, ebp
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x10055221
cmp esi, 0xa
jge 0x10055221
xor eax, eax
mov dword [esp + 0x1c], eax
mov ebp, ebp
mov dword [esp + 0x18], eax
test dh, dh
mov ebx, ebx
test eax, eax
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 ebp, ebp
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.1011a25d
add esp, 0x10
test ebx, ebx
movzx edi, byte [esp + 0x1a]
mov dh, dh
movzx ebx, byte [esp + 0x19]
test dl, dl
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov ah, ah
movzx ebp, byte [esp + 0x1e]
test eax, eax
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
push edx
pop edx
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov ebp, ebp
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
test ch, ch
test eax, eax
jge 0x10055162
mov dword [esp + esi*4 + 0xe4], 0
test dh, dh
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov bl, bl
cmp edi, 0xff
jle 0x10055185
mov dword [esp + esi*4 + 0x10c], 0xff
test eax, 0x2af9
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
test bl, bl
xor ebp, ebp
cmp eax, ebp
jge 0x100551a5
mov dword [esp + esi*4 + 0xbc], ebp
test ebx, ebx
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov ebp, ebp
mov edi, 0xff
cmp ebx, edi
jle 0x100551c2
mov dword [esp + esi*4 + 0x94], edi
mov bl, bl
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov al, al
cmp eax, ebp
jge 0x100551d6
mov dword [esp + esi*4 + 0x6c], ebp
mov bh, bh
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
test eax, 0x75db
cmp ecx, edi
jle 0x100551eb
mov dword [esp + esi*4 + 0x44], edi
mov al, al
mov eax, dword [esp + 0x24]
push 0x10181a24
push eax
call fcn.101186e0
add esp, 8
mov dword [esp + 0x24], eax
nop
cmp eax, ebp
je 0x10055212
add eax, 1
mov dword [esp + 0x24], eax
test eax, 0x7dba
add esi, 1
test dh, dh
cmp eax, ebp
jne 0x10055090
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.10117b2c
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov dl, dl
mov eax, dword [ecx]
cmp eax, ebp
jne 0x1005525d
mov edx, dword [esp + 0x3c]
push edx
call fcn.10117bef
add esp, 4
mov dl, dl
xor eax, eax
jmp 0x1005565b
cmp dword [esp + 0x34], ebp
je 0x1005527a
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.10118770
add esp, 0xc
push edx
pop edx
jmp 0x1005528e
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.10118770
add esp, 0xc
mov ch, ch
mov ah, ah
test edi, edi
cmp dword [esi + 8], ebp
jle 0x10055647
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
lea esp, [esp]
test eax, 0x2f48
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x10055629
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
nop
cmp dword [esp + 0x38], 0
je 0x100553ed
xchg ebx, eax
xchg ebx, eax
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10055612
lea esp, [esp]
mov dl, dl
cmp dword [esp + 0x34], 0
jne 0x1005530f
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 0x10055323
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 0x10055612
movzx edx, byte [ebx + 1]
test eax, eax
movzx esi, byte [ebx]
push eax
pop eax
mov eax, dword [ebx - 1]
and eax, 0xff
test al, al
cmp dword [esp + 0x34], 0
jne 0x10055391
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x100553d7
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x100553d7
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x100553d7
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x100553d7
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x100553d7
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x100553d7
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
test ebx, ebx
jmp 0x100553d7
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x100553d7
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x100553d7
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x100553d7
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x100553d7
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x100553d7
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x100553d7
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 0x100552f0
jmp 0x10055612
cmp dword [esp + 0x40], 0
je 0x100554dc
mov ecx, ecx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10055612
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov bl, bl
test ah, ah
test edx, edx
jne 0x1005542c
mov edx, dword [eax + 8]
imul edx, edi
add edx, dword [ecx]
cmp byte [edx + ebp], 1
jmp 0x10055438
mov eax, dword [eax + 8]
imul eax, edi
add eax, dword [ecx]
cmp byte [eax + ebp], 0
je 0x10055612
movzx edx, byte [ebx + 1]
test ch, ch
movzx ecx, byte [ebx]
nop
mov eax, dword [ebx - 1]
and eax, 0xff
mov al, al
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
test edi, edi
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10055496
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x100554be
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x100554be
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 0x100554c6
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x100554be
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x100554be
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
test esi, esi
mov esi, dword [esp + 0x24]
jmp 0x100554c6
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10055416
jmp 0x10055612
mov edi, edi
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10055612
lea ebx, [ebx]
mov dh, dh
test ecx, ecx
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 0x10055511
cmp byte [edx + ebp], 1
jmp 0x10055515
cmp byte [edx + ebp], 0
je 0x10055612
movzx ecx, byte [ebx + 1]
mov dh, dh
movzx edx, byte [ebx]
test dh, dh
mov eax, dword [ebx - 1]
and eax, 0xff
xchg ebx, eax
xchg ebx, eax
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.100534a0
add esp, 0x18
mov dl, dl
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x100555b3
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10055601
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10055601
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10055601
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10055601
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10055601
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10055601
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 0x10055601
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10055601
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10055601
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10055601
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10055601
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10055601
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10055601
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 edi, edi
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x100554f0
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x100552d0
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x100552b0
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10117bef
add esp, 4
mov eax, eax
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101180ca
add esp, 0x144
ret