Function at 0x100545e0
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 ebx, ebx
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov bh, bh
mov ebx, ebx
mov edx, edx
mov edi, edi
mov edx, edx
mov ch, ch
mov eax, eax
push ecx
pop ecx
xor esi, esi
mov dword [esp + 0x20], esi
mov edx, edx
mov dword [esp + 0x34], ebp
push eax
pop eax
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov dh, dh
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.1011a334
add esp, 0xc
test eax, eax
je 0x1005468b
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a334
add esp, 0xc
test eax, eax
jne 0x10054696
mov dword [esp + 0x34], ebx
mov al, al
add edi, 2
push ecx
pop ecx
push 0x1018186c
push edi
call fcn.10118100
add esp, 8
test eax, eax
je 0x1005489c
mov dl, dl
cmp edi, ebp
je 0x10054b30
mov ebx, 0x64
jmp 0x100546c0
cmp esi, 0xa
jge 0x10054b2c
mov bh, bh
mov dword [esp + 0x38], ebp
mov ecx, ecx
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 ebp, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov ebp, ebp
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 al, al
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
mov eax, eax
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 0x100547ce
mov dword [esp + esi*4 + 0x6c], ebp
push edx
pop edx
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov bh, bh
mov eax, 0x168
cmp edx, eax
jle 0x100547ed
mov dword [esp + esi*4 + 0x44], eax
mov bh, bh
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 0x1005480e
mov dword [esp + esi*4 + 0x94], ebp
mov ebx, ebx
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
push ecx
pop ecx
cmp edx, ebx
jle 0x10054831
mov dword [esp + esi*4 + 0xbc], ebx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
push edx
pop edx
cmp eax, ebp
jge 0x1005484f
mov dword [esp + esi*4 + 0x10c], ebp
mov dh, dh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
push ebx
pop ebx
cmp edx, ebx
jle 0x1005486f
mov dword [esp + esi*4 + 0xe4], ebx
mov ebp, ebp
push 0x10181488
push edi
call fcn.10118100
add esp, 8
mov edi, eax
mov ebp, ebp
cmp edi, ebp
je 0x1005488a
add edi, 1
mov cl, cl
add esi, 1
mov ch, ch
cmp edi, ebp
jne 0x100546c0
jmp 0x10054b2c
push 0x10181868
push edi
call fcn.10118100
add esp, 8
test eax, eax
je 0x1005499f
mov ch, ch
cmp edi, ebp
je 0x10054b30
mov ebx, 0x64
cmp esi, 0xa
jge 0x10054b2c
mov ah, ah
mov dword [esp + 0x38], ebp
mov bh, bh
mov dword [esp + 0x40], 1
mov ch, ch
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov al, al
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 ebp, ebp
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 edi, edi
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov esi, esi
cmp eax, ebp
jge 0x10054953
mov dword [esp + esi*4 + 0x44], ebp
mov bh, bh
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov ebx, ebx
mov eax, 0xff
cmp edx, eax
jle 0x10054972
mov dword [esp + esi*4 + 0x6c], eax
mov eax, eax
push 0x10181488
push edi
call fcn.10118100
add esp, 8
mov edi, eax
mov ah, ah
cmp edi, ebp
je 0x1005498d
add edi, 1
mov esi, esi
add esi, 1
mov ecx, ecx
cmp edi, ebp
jne 0x100548c1
jmp 0x10054b2c
mov dword [esp + 0x24], edi
xchg ebx, eax
xchg ebx, eax
cmp edi, ebp
je 0x10054b30
jmp 0x100549b2
xor ebp, ebp
cmp esi, 0xa
jge 0x10054b2c
xor eax, eax
mov dword [esp + 0x1c], eax
mov cl, cl
mov dword [esp + 0x18], eax
mov esi, esi
mov bh, bh
mov cl, cl
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 eax, eax
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.10119c85
add esp, 0x10
mov ebp, ebp
movzx edi, byte [esp + 0x1a]
mov al, al
movzx ebx, byte [esp + 0x19]
mov ch, ch
mov ecx, dword [esp + 0x18]
and ecx, 0xff
push ecx
pop ecx
movzx ebp, byte [esp + 0x1e]
mov ch, ch
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
push edx
pop edx
mov edx, dword [esp + 0x1c]
and edx, 0xff
push edx
pop edx
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov edx, edx
test eax, eax
jge 0x10054a75
mov dword [esp + esi*4 + 0xe4], 0
mov cl, cl
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov ch, ch
cmp edi, 0xff
jle 0x10054a95
mov dword [esp + esi*4 + 0x10c], 0xff
mov ch, ch
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
push eax
pop eax
xor ebp, ebp
cmp eax, ebp
jge 0x10054ab5
mov dword [esp + esi*4 + 0xbc], ebp
push ecx
pop ecx
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
push edx
pop edx
mov edi, 0xff
cmp ebx, edi
jle 0x10054ad2
mov dword [esp + esi*4 + 0x94], edi
mov esi, esi
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov cl, cl
cmp eax, ebp
jge 0x10054ae6
mov dword [esp + esi*4 + 0x6c], ebp
push ebx
pop ebx
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
mov ah, ah
cmp ecx, edi
jle 0x10054af8
mov dword [esp + esi*4 + 0x44], edi
mov cl, cl
mov eax, dword [esp + 0x24]
push 0x10181488
push eax
call fcn.10118100
add esp, 8
mov dword [esp + 0x24], eax
mov edi, edi
cmp eax, ebp
je 0x10054b1d
add eax, 1
mov dword [esp + 0x24], eax
mov dl, dl
add esi, 1
mov bl, bl
cmp eax, ebp
jne 0x100549b0
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 esi, esi
mov eax, dword [ecx]
cmp eax, ebp
jne 0x10054b67
mov edx, dword [esp + 0x3c]
push edx
call fcn.1011745c
add esp, 4
nop
xor eax, eax
jmp 0x10054f52
cmp dword [esp + 0x34], ebp
je 0x10054b84
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.101183f0
add esp, 0xc
mov edx, edx
jmp 0x10054b98
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.101183f0
add esp, 0xc
push edx
pop edx
push edx
pop edx
xchg ebx, eax
xchg ebx, eax
cmp dword [esi + 8], ebp
jle 0x10054f3e
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov edx, edx
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x10054f20
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
nop
cmp dword [esp + 0x38], 0
je 0x10054cea
mov ebx, ebx
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10054f09
lea esp, [esp]
nop
cmp dword [esp + 0x34], 0
jne 0x10054c0e
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 0x10054c22
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 0x10054f09
movzx edx, byte [ebx + 1]
nop
movzx esi, byte [ebx]
mov bh, bh
mov eax, dword [ebx - 1]
and eax, 0xff
mov esi, esi
cmp dword [esp + 0x34], 0
jne 0x10054c8f
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10054cd4
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10054cd4
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10054cd4
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10054cd4
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10054cd4
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10054cd4
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
mov edx, edx
jmp 0x10054cd4
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10054cd4
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10054cd4
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10054cd4
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10054cd4
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10054cd4
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10054cd4
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 0x10054bf0
jmp 0x10054f09
cmp dword [esp + 0x40], 0
je 0x10054dda
mov cl, cl
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10054f09
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov ah, ah
mov ebp, ebp
test edx, edx
jne 0x10054d29
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x10054d35
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x10054f09
movzx edx, byte [ebx + 1]
mov ah, ah
movzx ecx, byte [ebx]
push ebx
pop ebx
mov eax, dword [ebx - 1]
and eax, 0xff
mov ebp, ebp
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, cl
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10054d94
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10054dbc
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10054dbc
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
push ebx
pop ebx
mov esi, dword [esp + 0x24]
jmp 0x10054dc4
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10054dbc
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10054dbc
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 bl, bl
mov esi, dword [esp + 0x24]
jmp 0x10054dc4
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10054d13
jmp 0x10054f09
mov edx, edx
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10054f09
mov bl, bl
xchg ebx, eax
xchg ebx, eax
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 0x10054e09
cmp byte [edx + edi], 1
jmp 0x10054e0d
cmp byte [edx + edi], 0
je 0x10054f09
movzx ecx, byte [ebx + 1]
push eax
pop eax
movzx edx, byte [ebx]
push ecx
pop ecx
mov eax, dword [ebx - 1]
and eax, 0xff
push edx
pop edx
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
nop
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10054eaa
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10054ef8
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10054ef8
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10054ef8
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10054ef8
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10054ef8
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10054ef8
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 0x10054ef8
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10054ef8
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10054ef8
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10054ef8
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10054ef8
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10054ef8
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10054ef8
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
push ebx
pop ebx
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10054de8
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10054bd0
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10054bb3
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1011745c
add esp, 4
push eax
pop eax
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