Function at 0x10053960
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101cc114]
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 edi, edi
xor ebp, ebp
mov dword [esp + 0x40], ebp
push edx
pop edx
mov al, al
mov ebp, ebp
push ebx
pop ebx
mov ebp, ebp
mov ebx, ebx
push eax
pop eax
mov ah, ah
xor esi, esi
mov dword [esp + 0x20], esi
mov ebx, ebx
mov dword [esp + 0x34], ebp
nop
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov edi, edi
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov bl, bl
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1011a334
add esp, 0xc
test eax, eax
je 0x10053a0a
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a334
add esp, 0xc
test eax, eax
jne 0x10053a15
mov dword [esp + 0x34], ebx
mov ch, ch
add edi, 2
mov ebp, ebp
push 0x1018186c
push edi
call fcn.10118100
add esp, 8
test eax, eax
je 0x10053c23
mov esi, esi
cmp edi, ebp
je 0x10053ed2
mov ebx, 0x64
lea ebx, [ebx]
cmp byte [edi], 0
je 0x10053ece
cmp esi, 0xa
jge 0x10053ece
mov edx, edx
mov dword [esp + 0x38], ebp
mov cl, cl
mov dword [esp + 0x40], ebp
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov bl, bl
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov 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 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.10119c85
add esp, 0x20
nop
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
mov bl, bl
cmp eax, ebp
jge 0x10053b56
mov dword [esp + esi*4 + 0x6c], ebp
mov bh, bh
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov esi, esi
mov eax, 0x168
cmp edx, eax
jle 0x10053b74
mov dword [esp + esi*4 + 0x44], eax
nop
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
mov ecx, ecx
cmp eax, ebp
jge 0x10053b95
mov dword [esp + esi*4 + 0x94], ebp
mov dl, dl
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
push ebx
pop ebx
cmp edx, ebx
jle 0x10053bb8
mov dword [esp + esi*4 + 0xbc], ebx
mov edi, edi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
mov edi, edi
cmp eax, ebp
jge 0x10053bd6
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
mov cl, cl
cmp edx, ebx
jle 0x10053bf6
mov dword [esp + esi*4 + 0xe4], ebx
mov edi, edi
push 0x10181488
push edi
call fcn.10118100
add esp, 8
mov edi, eax
mov cl, cl
cmp edi, ebp
je 0x10053c11
add edi, 1
mov cl, cl
add esi, 1
push eax
pop eax
cmp edi, ebp
jne 0x10053a40
jmp 0x10053ece
push 0x10181868
push edi
call fcn.10118100
add esp, 8
test eax, eax
je 0x10053d35
mov cl, cl
cmp edi, ebp
je 0x10053ed2
mov ebx, 0x64
jmp 0x10053c50
cmp byte [edi], 0
je 0x10053ece
cmp esi, 0xa
jge 0x10053ece
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x38], ebp
mov bl, bl
mov dword [esp + 0x40], 1
mov edi, edi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
push ecx
pop 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
nop
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.10119c85
add esp, 0x10
mov ecx, ecx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
nop
cmp eax, ebp
jge 0x10053ce9
mov dword [esp + esi*4 + 0x44], ebp
mov dh, dh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov esi, esi
mov eax, 0xff
cmp edx, eax
jle 0x10053d08
mov dword [esp + esi*4 + 0x6c], eax
mov ah, ah
push 0x10181488
push edi
call fcn.10118100
add esp, 8
mov edi, eax
mov ah, ah
cmp edi, ebp
je 0x10053d23
add edi, 1
mov edx, edx
add esi, 1
mov ebx, ebx
cmp edi, ebp
jne 0x10053c50
jmp 0x10053ece
mov dword [esp + 0x24], edi
mov ecx, ecx
cmp edi, ebp
je 0x10053ed2
jmp 0x10053d47
xor ebp, ebp
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x10053ece
cmp esi, 0xa
jge 0x10053ece
xor eax, eax
mov dword [esp + 0x1c], eax
mov dl, dl
mov dword [esp + 0x18], eax
mov ah, ah
mov ecx, ecx
push eax
pop 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
xchg ebx, eax
xchg ebx, eax
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.10119c85
add esp, 0x10
push ebx
pop ebx
movzx edi, byte [esp + 0x1a]
mov ah, ah
movzx ebx, byte [esp + 0x19]
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov ebx, ebx
movzx ebp, byte [esp + 0x1e]
mov cl, cl
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
mov edi, edi
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov esi, esi
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov ebx, ebx
test eax, eax
jge 0x10053e17
mov dword [esp + esi*4 + 0xe4], 0
mov edi, edi
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov edx, edx
cmp edi, 0xff
jle 0x10053e37
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
mov ecx, ecx
xor ebp, ebp
cmp eax, ebp
jge 0x10053e57
mov dword [esp + esi*4 + 0xbc], ebp
push ecx
pop ecx
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov dl, dl
mov edi, 0xff
cmp ebx, edi
jle 0x10053e74
mov dword [esp + esi*4 + 0x94], edi
mov edx, edx
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov ebx, ebx
cmp eax, ebp
jge 0x10053e88
mov dword [esp + esi*4 + 0x6c], ebp
mov edi, edi
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
push ecx
pop ecx
cmp ecx, edi
jle 0x10053e9a
mov dword [esp + esi*4 + 0x44], edi
push ecx
pop ecx
mov eax, dword [esp + 0x24]
push 0x10181488
push eax
call fcn.10118100
add esp, 8
mov dword [esp + 0x24], eax
push edx
pop edx
cmp eax, ebp
je 0x10053ebf
add eax, 1
mov dword [esp + 0x24], eax
push ecx
pop ecx
add esi, 1
mov bl, bl
cmp eax, ebp
jne 0x10053d45
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.10117399
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov edi, edi
mov eax, dword [ecx]
cmp eax, ebp
jne 0x10053f0a
mov edx, dword [esp + 0x3c]
push edx
call fcn.1011745c
add esp, 4
xchg ebx, eax
xchg ebx, eax
xor eax, eax
jmp 0x100542fa
cmp dword [esp + 0x34], ebp
je 0x10053f27
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.101183f0
add esp, 0xc
push ecx
pop ecx
jmp 0x10053f3b
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.101183f0
add esp, 0xc
push ecx
pop ecx
mov edx, edx
push eax
pop eax
cmp dword [esi + 8], ebp
jle 0x100542e7
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov bl, bl
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x100542c9
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x38], 0
je 0x1005408d
mov edx, edx
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x100542b2
jmp 0x10053f90
mov edx, edx
cmp dword [esp + 0x34], 0
jne 0x10053faf
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 0x10053fc3
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 0x100542b2
movzx edx, byte [ebx + 1]
push ebx
pop ebx
movzx esi, byte [ebx]
mov bl, bl
mov eax, dword [ebx - 1]
and eax, 0xff
push eax
pop eax
cmp dword [esp + 0x34], 0
jne 0x10054031
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10054077
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10054077
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10054077
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10054077
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10054077
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10054077
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
mov dl, dl
jmp 0x10054077
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10054077
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10054077
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10054077
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10054077
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10054077
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10054077
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 bh, bh
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10053f90
jmp 0x100542b2
cmp dword [esp + 0x40], 0
je 0x1005417d
mov esi, esi
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x100542b2
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push eax
pop eax
mov edx, edx
test edx, edx
jne 0x100540cc
mov edx, dword [eax + 8]
imul edx, edi
add edx, dword [ecx]
cmp byte [edx + ebp], 1
jmp 0x100540d8
mov eax, dword [eax + 8]
imul eax, edi
add eax, dword [ecx]
cmp byte [eax + ebp], 0
je 0x100542b2
movzx edx, byte [ebx + 1]
mov dh, dh
movzx ecx, byte [ebx]
xchg ebx, eax
xchg ebx, eax
mov eax, dword [ebx - 1]
and eax, 0xff
mov bl, bl
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, ebp
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10054137
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1005415f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1005415f
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
push edx
pop edx
mov esi, dword [esp + 0x24]
jmp 0x10054167
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1005415f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1005415f
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
push ebx
pop ebx
mov esi, dword [esp + 0x24]
jmp 0x10054167
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x100540b6
jmp 0x100542b2
mov esi, esi
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x100542b2
jmp 0x10054190
push eax
pop eax
mov esi, esi
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 0x100541b1
cmp byte [edx + ebp], 1
jmp 0x100541b5
cmp byte [edx + ebp], 0
je 0x100542b2
movzx ecx, byte [ebx + 1]
mov ch, ch
movzx edx, byte [ebx]
mov bl, bl
mov eax, dword [ebx - 1]
and eax, 0xff
mov dl, dl
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.10052150
add esp, 0x18
push eax
pop eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10054253
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x100542a1
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x100542a1
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x100542a1
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x100542a1
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x100542a1
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x100542a1
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
push ecx
pop ecx
jmp 0x100542a1
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x100542a1
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x100542a1
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x100542a1
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x100542a1
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x100542a1
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x100542a1
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 dl, dl
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10054190
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10053f72
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10053f56
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1011745c
add esp, 4
nop
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10117937
add esp, 0x144
ret