Function at 0x10043e50
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 ecx, ecx
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov bl, bl
mov dl, dl
mov ch, ch
mov dh, dh
mov al, al
mov ecx, ecx
mov edi, edi
nop
xor esi, esi
mov dword [esp + 0x20], esi
mov edi, edi
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 ecx, ecx
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
nop
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.10110f14
add esp, 0xc
test eax, eax
je 0x10043ef8
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.10110f14
add esp, 0xc
test eax, eax
jne 0x10043f03
mov dword [esp + 0x34], ebx
mov dh, dh
add edi, 2
mov al, al
push 0x1017994c
push edi
call fcn.1010ece0
add esp, 8
test eax, eax
je 0x10044115
mov ch, ch
cmp edi, ebp
je 0x100443c3
mov ebx, 0x64
jmp 0x10043f30
cmp byte [edi], 0
je 0x100443bf
cmp esi, 0xa
jge 0x100443bf
mov ecx, ecx
mov dword [esp + 0x38], ebp
push ecx
pop ecx
mov dword [esp + 0x40], ebp
mov ebp, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov al, al
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov ecx, 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
mov esi, esi
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 edi, edi
cmp eax, ebp
jge 0x10044047
mov dword [esp + esi*4 + 0x6c], ebp
mov bl, bl
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 0x10044066
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
mov dl, dl
cmp eax, ebp
jge 0x10044087
mov dword [esp + esi*4 + 0x94], ebp
mov esi, esi
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov eax, eax
cmp edx, ebx
jle 0x100440aa
mov dword [esp + esi*4 + 0xbc], ebx
push ebx
pop ebx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
mov ebx, ebx
cmp eax, ebp
jge 0x100440c8
mov dword [esp + esi*4 + 0x10c], ebp
mov bh, bh
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 0x100440e8
mov dword [esp + esi*4 + 0xe4], ebx
mov cl, cl
push 0x10179578
push edi
call fcn.1010ece0
add esp, 8
mov edi, eax
mov edx, edx
cmp edi, ebp
je 0x10044103
add edi, 1
mov cl, cl
add esi, 1
mov dh, dh
cmp edi, ebp
jne 0x10043f30
jmp 0x100443bf
push 0x10179948
push edi
call fcn.1010ece0
add esp, 8
test eax, eax
je 0x10044227
mov edx, edx
cmp edi, ebp
je 0x100443c3
mov ebx, 0x64
lea ebx, [ebx]
cmp byte [edi], 0
je 0x100443bf
cmp esi, 0xa
jge 0x100443bf
mov eax, eax
mov dword [esp + 0x38], ebp
mov bl, bl
mov dword [esp + 0x40], 1
mov ebx, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov ecx, 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
push edx
pop edx
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 bl, bl
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov edi, edi
cmp eax, ebp
jge 0x100441db
mov dword [esp + esi*4 + 0x44], ebp
mov edi, edi
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov bl, bl
mov eax, 0xff
cmp edx, eax
jle 0x100441fa
mov dword [esp + esi*4 + 0x6c], eax
mov bh, bh
push 0x10179578
push edi
call fcn.1010ece0
add esp, 8
mov edi, eax
mov edx, edx
cmp edi, ebp
je 0x10044215
add edi, 1
mov ebp, ebp
add esi, 1
mov dh, dh
cmp edi, ebp
jne 0x10044140
jmp 0x100443bf
mov dword [esp + 0x24], edi
mov cl, cl
cmp edi, ebp
je 0x100443c3
jmp 0x10044239
xor ebp, ebp
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x100443bf
cmp esi, 0xa
jge 0x100443bf
xor eax, eax
mov dword [esp + 0x1c], eax
mov ebp, ebp
mov dword [esp + 0x18], eax
push eax
pop eax
mov al, al
push ebx
pop 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
mov edx, edx
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.10110865
add esp, 0x10
mov esi, esi
movzx edi, byte [esp + 0x1a]
push ecx
pop ecx
movzx ebx, byte [esp + 0x19]
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov edi, edi
movzx ebp, byte [esp + 0x1e]
mov dl, dl
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
push ebx
pop ebx
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov edi, edi
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov esi, esi
test eax, eax
jge 0x10044309
mov dword [esp + esi*4 + 0xe4], 0
push ecx
pop ecx
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov dh, dh
cmp edi, 0xff
jle 0x10044329
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
mov ebp, ebp
xor ebp, ebp
cmp eax, ebp
jge 0x10044349
mov dword [esp + esi*4 + 0xbc], ebp
mov ah, ah
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov esi, esi
mov edi, 0xff
cmp ebx, edi
jle 0x10044365
mov dword [esp + esi*4 + 0x94], edi
nop
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov ebp, ebp
cmp eax, ebp
jge 0x10044379
mov dword [esp + esi*4 + 0x6c], ebp
xchg ebx, eax
xchg ebx, eax
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
mov ecx, ecx
cmp ecx, edi
jle 0x1004438b
mov dword [esp + esi*4 + 0x44], edi
mov edi, edi
mov eax, dword [esp + 0x24]
push 0x10179578
push eax
call fcn.1010ece0
add esp, 8
mov dword [esp + 0x24], eax
push ecx
pop ecx
cmp eax, ebp
je 0x100443b0
add eax, 1
mov dword [esp + 0x24], eax
mov bh, bh
add esi, 1
push ebx
pop ebx
cmp eax, ebp
jne 0x10044237
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 ah, ah
mov eax, dword [ecx]
cmp eax, ebp
jne 0x100443fb
mov edx, dword [esp + 0x3c]
push edx
call fcn.1010dffc
add esp, 4
mov ah, ah
xor eax, eax
jmp 0x100447eb
cmp dword [esp + 0x34], ebp
je 0x10044417
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.1010efd0
add esp, 0xc
nop
jmp 0x1004442a
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.1010efd0
add esp, 0xc
nop
mov bh, bh
push ecx
pop ecx
cmp dword [esi + 8], ebp
jle 0x100447d7
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
push eax
pop eax
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x100447b9
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x38], 0
je 0x1004457c
mov ah, ah
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x100447a2
lea ebx, [ebx]
mov ah, ah
cmp dword [esp + 0x34], 0
jne 0x1004449f
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 0x100444b3
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 0x100447a2
movzx edx, byte [ebx + 1]
mov dl, dl
movzx esi, byte [ebx]
nop
mov eax, dword [ebx - 1]
and eax, 0xff
mov edi, edi
cmp dword [esp + 0x34], 0
jne 0x10044520
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10044566
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10044566
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10044566
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10044566
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10044566
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10044566
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
push edx
pop edx
jmp 0x10044566
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x10044566
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x10044566
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x10044566
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x10044566
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x10044566
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x10044566
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 eax, eax
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x10044480
jmp 0x100447a2
cmp dword [esp + 0x40], 0
je 0x1004466c
mov edx, edx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x100447a2
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push eax
pop eax
mov bl, bl
test edx, edx
jne 0x100445bb
mov edx, dword [eax + 8]
imul edx, edi
add edx, dword [ecx]
cmp byte [edx + ebp], 1
jmp 0x100445c7
mov eax, dword [eax + 8]
imul eax, edi
add eax, dword [ecx]
cmp byte [eax + ebp], 0
je 0x100447a2
movzx edx, byte [ebx + 1]
mov edi, edi
movzx ecx, byte [ebx]
mov ebp, ebp
mov eax, dword [ebx - 1]
and eax, 0xff
mov ecx, ecx
add ecx, eax
add ecx, edx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x10044626
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1004464e
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1004464e
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
mov dh, dh
mov esi, dword [esp + 0x24]
jmp 0x10044656
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1004464e
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1004464e
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
mov ah, ah
mov esi, dword [esp + 0x24]
jmp 0x10044656
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x100445a5
jmp 0x100447a2
mov ebx, ebx
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x100447a2
lea ebx, [ebx]
mov bh, bh
mov cl, cl
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 0x100446a1
cmp byte [edx + ebp], 1
jmp 0x100446a5
cmp byte [edx + ebp], 0
je 0x100447a2
movzx ecx, byte [ebx + 1]
mov ch, ch
movzx edx, byte [ebx]
mov ebp, ebp
mov eax, dword [ebx - 1]
and eax, 0xff
mov ah, ah
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 eax, eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x10044743
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10044791
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10044791
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10044791
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10044791
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10044791
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10044791
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
mov bl, bl
jmp 0x10044791
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x10044791
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x10044791
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x10044791
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x10044791
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x10044791
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x10044791
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 cl, cl
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x10044680
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x10044461
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x10044445
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1010dffc
add esp, 4
mov bh, bh
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