Function at 0x10044ad0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101c52b4]
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 al, al
xor ebp, ebp
mov dword [esp + 0x40], ebp
nop
mov ah, ah
mov cl, cl
mov ebx, ebx
mov ecx, ecx
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
xchg ebx, eax
mov ebx, ebx
xor esi, esi
mov dword [esp + 0x20], esi
mov eax, eax
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 bh, bh
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov ebp, ebp
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10110f14
add esp, 0xc
test eax, eax
je 0x10044b79
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.10110f14
add esp, 0xc
test eax, eax
jne 0x10044b84
mov dword [esp + 0x34], ebx
mov edx, edx
add edi, 2
mov edi, edi
push 0x1017994c
push edi
call fcn.1010ece0
add esp, 8
test eax, eax
je 0x10044d8c
mov ah, ah
cmp edi, ebp
je 0x1004501d
mov ebx, 0x64
lea esp, [esp]
cmp esi, 0xa
jge 0x10045019
mov dh, dh
mov dword [esp + 0x38], ebp
mov ebx, ebx
mov dword [esp + 0x40], ebp
mov ah, ah
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 bl, bl
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.10110865
add esp, 0x20
mov ebx, ebx
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
mov esi, esi
cmp eax, ebp
jge 0x10044cbe
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
mov ch, ch
mov eax, 0x168
cmp edx, eax
jle 0x10044cdd
mov dword [esp + esi*4 + 0x44], eax
mov dh, dh
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
push ebx
pop ebx
cmp eax, ebp
jge 0x10044cfe
mov dword [esp + esi*4 + 0x94], ebp
mov ah, ah
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov ebx, ebx
cmp edx, ebx
jle 0x10044d21
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
push ecx
pop ecx
cmp eax, ebp
jge 0x10044d3f
mov dword [esp + esi*4 + 0x10c], ebp
mov ebp, ebp
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov edx, edx
cmp edx, ebx
jle 0x10044d5f
mov dword [esp + esi*4 + 0xe4], ebx
mov ch, ch
push 0x10179578
push edi
call fcn.1010ece0
add esp, 8
mov edi, eax
mov cl, cl
cmp edi, ebp
je 0x10044d7a
add edi, 1
mov ah, ah
add esi, 1
mov eax, eax
cmp edi, ebp
jne 0x10044bb0
jmp 0x10045019
push 0x10179948
push edi
call fcn.1010ece0
add esp, 8
test eax, eax
je 0x10044e8d
mov ah, ah
cmp edi, ebp
je 0x1004501d
mov ebx, 0x64
cmp esi, 0xa
jge 0x10045019
mov edi, edi
mov dword [esp + 0x38], ebp
push ecx
pop ecx
mov dword [esp + 0x40], 1
mov eax, eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov ebx, ebx
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 eax, eax
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.10110865
add esp, 0x10
mov ch, ch
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov edx, edx
cmp eax, ebp
jge 0x10044e43
mov dword [esp + esi*4 + 0x44], ebp
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
xchg ebx, eax
xchg ebx, eax
mov eax, 0xff
cmp edx, eax
jle 0x10044e61
mov dword [esp + esi*4 + 0x6c], eax
nop
push 0x10179578
push edi
call fcn.1010ece0
add esp, 8
mov edi, eax
push ecx
pop ecx
cmp edi, ebp
je 0x10044e7c
add edi, 1
mov edx, edx
add esi, 1
nop
cmp edi, ebp
jne 0x10044db1
jmp 0x10045019
mov dword [esp + 0x24], edi
mov esi, esi
cmp edi, ebp
je 0x1004501d
jmp 0x10044ea2
xor ebp, ebp
cmp esi, 0xa
jge 0x10045019
xor eax, eax
mov dword [esp + 0x1c], eax
mov ebp, ebp
mov dword [esp + 0x18], eax
mov ebp, ebp
nop
mov ebp, ebp
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 esi, esi
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.10110865
add esp, 0x10
mov cl, cl
movzx edi, byte [esp + 0x1a]
mov edx, edx
movzx ebx, byte [esp + 0x19]
mov bl, bl
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov dl, dl
movzx ebp, byte [esp + 0x1e]
mov ebx, ebx
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
nop
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov eax, eax
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov ch, ch
test eax, eax
jge 0x10044f63
mov dword [esp + esi*4 + 0xe4], 0
mov dh, dh
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov cl, cl
cmp edi, 0xff
jle 0x10044f83
mov dword [esp + esi*4 + 0x10c], 0xff
push eax
pop eax
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
nop
xor ebp, ebp
cmp eax, ebp
jge 0x10044fa2
mov dword [esp + esi*4 + 0xbc], ebp
push edx
pop edx
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov dh, dh
mov edi, 0xff
cmp ebx, edi
jle 0x10044fbf
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 0x10044fd3
mov dword [esp + esi*4 + 0x6c], ebp
mov bl, bl
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
push eax
pop eax
cmp ecx, edi
jle 0x10044fe5
mov dword [esp + esi*4 + 0x44], edi
mov cl, cl
mov eax, dword [esp + 0x24]
push 0x10179578
push eax
call fcn.1010ece0
add esp, 8
mov dword [esp + 0x24], eax
mov edi, edi
cmp eax, ebp
je 0x1004500a
add eax, 1
mov dword [esp + 0x24], eax
push ecx
pop ecx
add esi, 1
mov ebp, ebp
cmp eax, ebp
jne 0x10044ea0
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.1010df39
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov cl, cl
mov eax, dword [ecx]
cmp eax, ebp
jne 0x10045055
mov edx, dword [esp + 0x3c]
push edx
call fcn.1010dffc
add esp, 4
mov edx, edx
xor eax, eax
jmp 0x1004544a
cmp dword [esp + 0x34], ebp
je 0x10045072
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.1010efd0
add esp, 0xc
mov eax, eax
jmp 0x10045086
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.1010efd0
add esp, 0xc
mov ecx, ecx
mov dl, dl
mov edi, edi
cmp dword [esi + 8], ebp
jle 0x10045436
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov cl, cl
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x10045418
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
lea ecx, [ecx]
cmp dword [esp + 0x38], 0
je 0x100451dc
xchg ebx, eax
xchg ebx, eax
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x10045401
lea esp, [esp]
mov edx, edx
cmp dword [esp + 0x34], 0
jne 0x100450ff
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 0x10045113
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 0x10045401
movzx edx, byte [ebx + 1]
mov edx, edx
movzx esi, byte [ebx]
mov esi, esi
mov eax, dword [ebx - 1]
and eax, 0xff
mov ebx, ebx
cmp dword [esp + 0x34], 0
jne 0x10045180
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x100451c6
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x100451c6
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x100451c6
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x100451c6
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x100451c6
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x100451c6
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
nop
jmp 0x100451c6
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x100451c6
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x100451c6
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x100451c6
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x100451c6
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x100451c6
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x100451c6
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
push eax
pop eax
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x100450e0
jmp 0x10045401
cmp dword [esp + 0x40], 0
je 0x100452cc
mov ecx, ecx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x10045401
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov ch, ch
push eax
pop eax
test edx, edx
jne 0x1004521b
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x10045227
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x10045401
movzx edx, byte [ebx + 1]
mov ch, ch
movzx ecx, byte [ebx]
mov edi, edi
mov eax, dword [ebx - 1]
and eax, 0xff
mov ebx, ebx
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, edi
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10045286
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x100452ae
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x100452ae
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 0x100452b6
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x100452ae
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x100452ae
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 ah, ah
mov esi, dword [esp + 0x24]
jmp 0x100452b6
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x10045205
jmp 0x10045401
mov cl, cl
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x10045401
lea ebx, [ebx]
mov ch, ch
mov ebp, ebp
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 0x10045301
cmp byte [edx + edi], 1
jmp 0x10045305
cmp byte [edx + edi], 0
je 0x10045401
movzx ecx, byte [ebx + 1]
mov eax, eax
movzx edx, byte [ebx]
mov edi, edi
mov eax, dword [ebx - 1]
and eax, 0xff
mov bh, bh
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.10042660
add esp, 0x18
mov al, al
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x100453a2
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x100453f0
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x100453f0
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x100453f0
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x100453f0
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x100453f0
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x100453f0
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
nop
jmp 0x100453f0
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x100453f0
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x100453f0
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x100453f0
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x100453f0
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x100453f0
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x100453f0
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
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x100452e0
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x100450c0
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x100450a1
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1010dffc
add esp, 4
mov bl, bl
mov eax, 1
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1010e4d7
add esp, 0x144
ret