Function at 0x10052b70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101cf40c]
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 ch, ch
xor ebp, ebp
mov dword [esp + 0x40], ebp
push edx
pop edx
mov ecx, ecx
mov cl, cl
mov cl, cl
push eax
pop eax
mov edx, edx
mov edi, edi
mov cl, cl
xor esi, esi
mov dword [esp + 0x20], esi
mov ah, ah
mov dword [esp + 0x34], ebp
nop
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
push eax
pop eax
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
push eax
pop eax
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1011a694
add esp, 0xc
test eax, eax
je 0x10052c1a
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a694
add esp, 0xc
test eax, eax
jne 0x10052c25
mov dword [esp + 0x34], ebx
mov ebp, ebp
add edi, 2
mov cl, cl
push 0x10183964
push edi
call fcn.101181c0
add esp, 8
test eax, eax
je 0x10052e2b
mov bh, bh
cmp edi, ebp
je 0x100530c0
mov ebx, 0x64
lea ebx, [ebx]
cmp esi, 0xa
jge 0x100530bc
push edx
pop edx
mov dword [esp + 0x38], ebp
nop
mov dword [esp + 0x40], ebp
mov edi, edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov edx, edx
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
push eax
pop 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.10119fed
add esp, 0x20
push ebx
pop ebx
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
push edx
pop edx
cmp eax, ebp
jge 0x10052d5d
mov dword [esp + esi*4 + 0x6c], ebp
mov dh, dh
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov ah, ah
mov eax, 0x168
cmp edx, eax
jle 0x10052d7c
mov dword [esp + esi*4 + 0x44], eax
mov ah, ah
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
push eax
pop eax
cmp eax, ebp
jge 0x10052d9d
mov dword [esp + esi*4 + 0x94], ebp
mov ecx, ecx
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov cl, cl
cmp edx, ebx
jle 0x10052dc0
mov dword [esp + esi*4 + 0xbc], ebx
mov ecx, ecx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
mov ah, ah
cmp eax, ebp
jge 0x10052dde
mov dword [esp + esi*4 + 0x10c], ebp
mov ah, ah
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov esi, esi
cmp edx, ebx
jle 0x10052dfe
mov dword [esp + esi*4 + 0xe4], ebx
mov eax, eax
push 0x10183570
push edi
call fcn.101181c0
add esp, 8
mov edi, eax
push ebx
pop ebx
cmp edi, ebp
je 0x10052e19
add edi, 1
push ecx
pop ecx
add esi, 1
mov bh, bh
cmp edi, ebp
jne 0x10052c50
jmp 0x100530bc
push 0x10183960
push edi
call fcn.101181c0
add esp, 8
test eax, eax
je 0x10052f2d
mov dl, dl
cmp edi, ebp
je 0x100530c0
mov ebx, 0x64
cmp esi, 0xa
jge 0x100530bc
mov eax, eax
mov dword [esp + 0x38], ebp
push eax
pop eax
mov dword [esp + 0x40], 1
mov dh, dh
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov dl, dl
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 al, al
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.10119fed
add esp, 0x10
mov dh, dh
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov eax, eax
cmp eax, ebp
jge 0x10052ee2
mov dword [esp + esi*4 + 0x44], ebp
mov ebp, ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov ah, ah
mov eax, 0xff
cmp edx, eax
jle 0x10052f01
mov dword [esp + esi*4 + 0x6c], eax
mov ebp, ebp
push 0x10183570
push edi
call fcn.101181c0
add esp, 8
mov edi, eax
mov cl, cl
cmp edi, ebp
je 0x10052f1b
add edi, 1
nop
add esi, 1
push eax
pop eax
cmp edi, ebp
jne 0x10052e50
jmp 0x100530bc
mov dword [esp + 0x24], edi
mov ebx, ebx
cmp edi, ebp
je 0x100530c0
jmp 0x10052f42
xor ebp, ebp
cmp esi, 0xa
jge 0x100530bc
xor eax, eax
mov dword [esp + 0x1c], eax
mov bl, bl
mov dword [esp + 0x18], eax
push ecx
pop ecx
mov ebp, ebp
mov edx, edx
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 cl, cl
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.10119fed
add esp, 0x10
mov cl, cl
movzx edi, byte [esp + 0x1a]
push ebx
pop ebx
movzx ebx, byte [esp + 0x19]
mov ch, ch
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov cl, cl
movzx ebp, byte [esp + 0x1e]
mov ah, ah
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
push ecx
pop ecx
mov edx, dword [esp + 0x1c]
and edx, 0xff
push ebx
pop ebx
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov ah, ah
test eax, eax
jge 0x10053005
mov dword [esp + esi*4 + 0xe4], 0
push edx
pop edx
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov eax, eax
cmp edi, 0xff
jle 0x10053025
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 bl, bl
xor ebp, ebp
cmp eax, ebp
jge 0x10053045
mov dword [esp + esi*4 + 0xbc], ebp
mov bh, bh
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov bh, bh
mov edi, 0xff
cmp ebx, edi
jle 0x10053062
mov dword [esp + esi*4 + 0x94], edi
xchg ebx, eax
xchg ebx, eax
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
push edx
pop edx
cmp eax, ebp
jge 0x10053076
mov dword [esp + esi*4 + 0x6c], ebp
push eax
pop eax
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
mov dh, dh
cmp ecx, edi
jle 0x10053088
mov dword [esp + esi*4 + 0x44], edi
push eax
pop eax
mov eax, dword [esp + 0x24]
push 0x10183570
push eax
call fcn.101181c0
add esp, 8
mov dword [esp + 0x24], eax
xchg ebx, eax
xchg ebx, eax
cmp eax, ebp
je 0x100530ad
add eax, 1
mov dword [esp + 0x24], eax
push ebx
pop ebx
add esi, 1
mov eax, eax
cmp eax, ebp
jne 0x10052f40
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.1011741c
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov edi, edi
mov eax, dword [ecx]
cmp eax, ebp
jne 0x100530f8
mov edx, dword [esp + 0x3c]
push edx
call fcn.101174df
add esp, 4
mov bh, bh
xor eax, eax
jmp 0x100534eb
cmp dword [esp + 0x34], ebp
je 0x10053115
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.101184b0
add esp, 0xc
mov ecx, ecx
jmp 0x10053129
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.101184b0
add esp, 0xc
mov ebx, ebx
nop
mov dh, dh
cmp dword [esi + 8], ebp
jle 0x100534d7
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
push edx
pop edx
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x100534b9
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
nop
cmp dword [esp + 0x38], 0
je 0x1005327d
mov al, al
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x100534a2
lea esp, [esp]
mov cl, cl
cmp dword [esp + 0x34], 0
jne 0x1005319f
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 0x100531b3
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 0x100534a2
movzx edx, byte [ebx + 1]
push edx
pop edx
movzx esi, byte [ebx]
push ecx
pop ecx
mov eax, dword [ebx - 1]
and eax, 0xff
push eax
pop eax
cmp dword [esp + 0x34], 0
jne 0x10053221
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10053267
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10053267
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10053267
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10053267
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10053267
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10053267
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
push ecx
pop ecx
jmp 0x10053267
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10053267
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10053267
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10053267
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10053267
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10053267
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10053267
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 edi, edi
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10053180
jmp 0x100534a2
cmp dword [esp + 0x40], 0
je 0x1005336d
mov edi, edi
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x100534a2
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov bh, bh
mov ah, ah
test edx, edx
jne 0x100532bc
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x100532c8
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x100534a2
movzx edx, byte [ebx + 1]
mov edx, edx
movzx ecx, byte [ebx]
mov ecx, ecx
mov eax, dword [ebx - 1]
and eax, 0xff
mov eax, eax
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, dl
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10053327
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1005334f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1005334f
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
mov bh, bh
mov esi, dword [esp + 0x24]
jmp 0x10053357
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1005334f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1005334f
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
mov dl, dl
mov esi, dword [esp + 0x24]
jmp 0x10053357
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x100532a6
jmp 0x100534a2
nop
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x100534a2
lea ebx, [ebx]
mov dh, dh
mov dl, dl
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 0x100533a1
cmp byte [edx + edi], 1
jmp 0x100533a5
cmp byte [edx + edi], 0
je 0x100534a2
movzx ecx, byte [ebx + 1]
mov cl, cl
movzx edx, byte [ebx]
mov edx, edx
mov eax, dword [ebx - 1]
and eax, 0xff
mov eax, 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.100506e0
add esp, 0x18
mov edx, edx
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10053443
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10053491
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10053491
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10053491
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10053491
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10053491
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10053491
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 0x10053491
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10053491
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10053491
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10053491
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10053491
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10053491
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10053491
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 dh, dh
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10053380
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10053160
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10053143
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.101174df
add esp, 4
mov cl, cl
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101179ba
add esp, 0x144
ret