Function at 0x10055940
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
test dh, dh
xor ebp, ebp
mov dword [esp + 0x40], ebp
test ah, ah
mov bh, bh
push edx
pop edx
test al, al
mov ebx, ebx
test dh, dh
test al, al
mov bh, bh
xor esi, esi
mov dword [esp + 0x20], esi
push ebx
pop ebx
mov dword [esp + 0x34], ebp
mov dl, dl
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
test ah, ah
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
test ch, ch
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.1011a744
add esp, 0xc
test eax, eax
je 0x100559eb
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.1011a744
add esp, 0xc
test eax, eax
jne 0x100559f6
mov dword [esp + 0x34], ebx
push ecx
pop ecx
add edi, 2
mov edx, edx
push 0x10181b84
push edi
call fcn.101186e0
add esp, 8
test eax, eax
je 0x10055c05
test ch, ch
cmp edi, ebp
je 0x10055ea6
mov ebx, 0x64
jmp 0x10055a20
cmp esi, 0xa
jge 0x10055ea2
test al, al
mov dword [esp + 0x38], ebp
mov ecx, ecx
mov dword [esp + 0x40], ebp
mov ecx, ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
test ecx, ecx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
push ecx
pop ecx
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
test dl, dl
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 eax, 0x16a3
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
test ecx, ecx
cmp eax, ebp
jge 0x10055b31
mov dword [esp + esi*4 + 0x6c], ebp
mov esi, esi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
test eax, 0x3b3e
mov eax, 0x168
cmp edx, eax
jle 0x10055b53
mov dword [esp + esi*4 + 0x44], eax
push ecx
pop ecx
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
test dl, dl
cmp eax, ebp
jge 0x10055b74
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 edx
pop edx
cmp edx, ebx
jle 0x10055b97
mov dword [esp + esi*4 + 0xbc], ebx
mov ebp, ebp
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
test eax, 0x6d03
cmp eax, ebp
jge 0x10055bb8
mov dword [esp + esi*4 + 0x10c], ebp
mov edx, edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov edi, edi
cmp edx, ebx
jle 0x10055bd8
mov dword [esp + esi*4 + 0xe4], ebx
test bh, bh
push 0x10181a24
push edi
call fcn.101186e0
add esp, 8
mov edi, eax
mov ah, ah
cmp edi, ebp
je 0x10055bf3
add edi, 1
mov ecx, ecx
add esi, 1
test dh, dh
cmp edi, ebp
jne 0x10055a20
jmp 0x10055ea2
push 0x10181b80
push edi
call fcn.101186e0
add esp, 8
test eax, eax
je 0x10055d13
test ecx, ecx
cmp edi, ebp
je 0x10055ea6
mov ebx, 0x64
lea ebx, [ebx]
cmp esi, 0xa
jge 0x10055ea2
test al, al
mov dword [esp + 0x38], ebp
mov ebx, ebx
mov dword [esp + 0x40], 1
mov dl, dl
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
test edi, edi
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 eax, 0x380e
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 dh, dh
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
test dh, dh
cmp eax, ebp
jge 0x10055cc8
mov dword [esp + esi*4 + 0x44], ebp
test eax, 0x6d4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
test dl, dl
mov eax, 0xff
cmp edx, eax
jle 0x10055ce7
mov dword [esp + esi*4 + 0x6c], eax
push edx
pop edx
push 0x10181a24
push edi
call fcn.101186e0
add esp, 8
mov edi, eax
test dl, dl
cmp edi, ebp
je 0x10055d01
add edi, 1
nop
add esi, 1
test ecx, ecx
cmp edi, ebp
jne 0x10055c30
jmp 0x10055ea2
mov dword [esp + 0x24], edi
test ch, ch
cmp edi, ebp
je 0x10055ea6
jmp 0x10055d25
xor ebp, ebp
cmp esi, 0xa
jge 0x10055ea2
xor eax, eax
mov dword [esp + 0x1c], eax
test ah, ah
mov dword [esp + 0x18], eax
test dh, dh
mov bh, bh
mov ebx, ebx
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
test ah, ah
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.1011a25d
add esp, 0x10
test cl, cl
movzx edi, byte [esp + 0x1a]
test eax, eax
movzx ebx, byte [esp + 0x19]
push eax
pop eax
mov ecx, dword [esp + 0x18]
and ecx, 0xff
test edx, edx
movzx ebp, byte [esp + 0x1e]
mov al, al
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
push eax
pop eax
mov edx, dword [esp + 0x1c]
and edx, 0xff
push ecx
pop ecx
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov ah, ah
test eax, eax
jge 0x10055de8
mov dword [esp + esi*4 + 0xe4], 0
mov al, al
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
push eax
pop eax
cmp edi, 0xff
jle 0x10055e08
mov dword [esp + esi*4 + 0x10c], 0xff
mov ebx, ebx
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
test ch, ch
xor ebp, ebp
cmp eax, ebp
jge 0x10055e28
mov dword [esp + esi*4 + 0xbc], ebp
test dl, dl
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov ch, ch
mov edi, 0xff
cmp ebx, edi
jle 0x10055e45
mov dword [esp + esi*4 + 0x94], edi
test bh, bh
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
test eax, 0x6e04
cmp eax, ebp
jge 0x10055e5c
mov dword [esp + esi*4 + 0x6c], ebp
mov ebx, ebx
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
mov bh, bh
cmp ecx, edi
jle 0x10055e6e
mov dword [esp + esi*4 + 0x44], edi
mov esi, esi
mov eax, dword [esp + 0x24]
push 0x10181a24
push eax
call fcn.101186e0
add esp, 8
mov dword [esp + 0x24], eax
mov esi, esi
cmp eax, ebp
je 0x10055e93
add eax, 1
mov dword [esp + 0x24], eax
mov bh, bh
add esi, 1
mov ah, ah
cmp eax, ebp
jne 0x10055d23
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
test eax, 0x7336
mov eax, dword [ecx]
cmp eax, ebp
jne 0x10055ee1
mov edx, dword [esp + 0x3c]
push edx
call fcn.10117bef
add esp, 4
push ebx
pop ebx
xor eax, eax
jmp 0x100562e2
cmp dword [esp + 0x34], ebp
je 0x10055efe
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.10118770
add esp, 0xc
mov ebx, ebx
jmp 0x10055f12
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 edi, edi
test edi, edi
cmp dword [esi + 8], ebp
jle 0x100562ce
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
lea ecx, [ecx]
mov cl, cl
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x100562b0
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
lea esp, [esp]
cmp dword [esp + 0x38], 0
je 0x1005606d
test bl, bl
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10056299
lea esp, [esp]
test cl, cl
cmp dword [esp + 0x34], 0
jne 0x10055f8f
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 0x10055fa3
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 0x10056299
movzx edx, byte [ebx + 1]
test dl, dl
movzx esi, byte [ebx]
push edx
pop edx
mov eax, dword [ebx - 1]
and eax, 0xff
mov al, al
cmp dword [esp + 0x34], 0
jne 0x10056011
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10056057
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10056057
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10056057
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10056057
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10056057
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10056057
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 edi, edi
jmp 0x10056057
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10056057
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10056057
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10056057
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10056057
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10056057
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10056057
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 cl, cl
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10055f70
jmp 0x10056299
cmp dword [esp + 0x40], 0
je 0x10056166
test dl, dl
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10056299
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push eax
pop eax
test eax, 0x20f7
test edx, edx
jne 0x100560af
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x100560bb
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x10056299
movzx edx, byte [ebx + 1]
test eax, 0x7bfe
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
push edx
pop edx
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x1005611d
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10056148
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10056148
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 edx, edx
mov esi, dword [esp + 0x24]
jmp 0x10056150
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x10056148
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x10056148
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, 0x4c08
mov esi, dword [esp + 0x24]
jmp 0x10056150
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10056096
jmp 0x10056299
test dl, dl
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10056299
mov bl, bl
mov edx, edx
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 0x10056195
cmp byte [edx + edi], 1
jmp 0x10056199
cmp byte [edx + edi], 0
je 0x10056299
movzx ecx, byte [ebx + 1]
test bl, bl
movzx edx, byte [ebx]
test dh, dh
mov eax, dword [ebx - 1]
and eax, 0xff
mov ch, ch
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
test ecx, ecx
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x1005623a
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10056288
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10056288
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10056288
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10056288
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10056288
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10056288
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
test eax, 0x5f5f
jmp 0x10056288
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10056288
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10056288
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10056288
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10056288
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10056288
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10056288
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
test esi, esi
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10056174
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10055f50
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10055f30
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10117bef
add esp, 4
mov edx, edx
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