Function at 0x1003e1e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101b23cc]
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 edi, edi
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov ebp, ebp
push ebx
pop ebx
mov edx, edx
mov edi, edi
nop
mov edx, edx
mov dh, dh
mov edx, edx
xor esi, esi
mov dword [esp + 0x20], esi
mov bl, bl
mov dword [esp + 0x34], ebp
mov dh, dh
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov al, al
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov edx, edx
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.100ff174
add esp, 0xc
test eax, eax
je 0x1003e28a
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.100ff174
add esp, 0xc
test eax, eax
jne 0x1003e295
mov dword [esp + 0x34], ebx
mov ch, ch
add edi, 2
mov ch, ch
push 0x101668cc
push edi
call fcn.100fcca0
add esp, 8
test eax, eax
je 0x1003e49a
mov ebx, ebx
cmp edi, ebp
je 0x1003e72f
mov ebx, 0x64
lea ebx, [ebx]
cmp esi, 0xa
jge 0x1003e72b
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x38], ebp
nop
mov dword [esp + 0x40], ebp
mov edx, edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
mov bh, bh
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.100feacd
add esp, 0x20
mov cl, cl
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
mov ah, ah
cmp eax, ebp
jge 0x1003e3cd
mov dword [esp + esi*4 + 0x6c], ebp
mov ebp, ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov cl, cl
mov eax, 0x168
cmp edx, eax
jle 0x1003e3ec
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 edx
pop edx
cmp eax, ebp
jge 0x1003e40d
mov dword [esp + esi*4 + 0x94], ebp
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov bl, bl
cmp edx, ebx
jle 0x1003e430
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
mov ecx, ecx
cmp eax, ebp
jge 0x1003e44e
mov dword [esp + esi*4 + 0x10c], ebp
mov al, al
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov dh, dh
cmp edx, ebx
jle 0x1003e46e
mov dword [esp + esi*4 + 0xe4], ebx
mov dh, dh
push 0x101664f0
push edi
call fcn.100fcca0
add esp, 8
mov edi, eax
nop
cmp edi, ebp
je 0x1003e488
add edi, 1
mov bh, bh
add esi, 1
mov ebp, ebp
cmp edi, ebp
jne 0x1003e2c0
jmp 0x1003e72b
push 0x101668c8
push edi
call fcn.100fcca0
add esp, 8
test eax, eax
je 0x1003e59d
mov al, al
cmp edi, ebp
je 0x1003e72f
mov ebx, 0x64
nop
cmp esi, 0xa
jge 0x1003e72b
push ebx
pop ebx
mov dword [esp + 0x38], ebp
mov ah, ah
mov dword [esp + 0x40], 1
nop
mov dword [esp + 0x24], ebp
mov dword [esp + 0x20], ebp
mov bl, bl
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.100feacd
add esp, 0x10
push ecx
pop ecx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov eax, eax
cmp eax, ebp
jge 0x1003e551
mov dword [esp + esi*4 + 0x44], ebp
mov cl, cl
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov ebp, ebp
mov eax, 0xff
cmp edx, eax
jle 0x1003e570
mov dword [esp + esi*4 + 0x6c], eax
mov al, al
push 0x101664f0
push edi
call fcn.100fcca0
add esp, 8
mov edi, eax
mov bl, bl
cmp edi, ebp
je 0x1003e58b
add edi, 1
mov ebp, ebp
add esi, 1
xchg ebx, eax
xchg ebx, eax
cmp edi, ebp
jne 0x1003e4c0
jmp 0x1003e72b
mov dword [esp + 0x24], edi
mov ah, ah
cmp edi, ebp
je 0x1003e72f
jmp 0x1003e5b2
xor ebp, ebp
cmp esi, 0xa
jge 0x1003e72b
xor eax, eax
mov dword [esp + 0x1c], eax
push eax
pop eax
mov dword [esp + 0x18], eax
mov bl, bl
mov ebx, ebx
mov ch, ch
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 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.100feacd
add esp, 0x10
mov ebx, ebx
movzx edi, byte [esp + 0x1a]
mov bh, bh
movzx ebx, byte [esp + 0x19]
nop
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov eax, eax
movzx ebp, byte [esp + 0x1e]
push ebx
pop ebx
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
mov bl, bl
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov bl, bl
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov edx, edx
test eax, eax
jge 0x1003e674
mov dword [esp + esi*4 + 0xe4], 0
mov eax, eax
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov ebx, ebx
cmp edi, 0xff
jle 0x1003e694
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 eax, eax
xor ebp, ebp
cmp eax, ebp
jge 0x1003e6b4
mov dword [esp + esi*4 + 0xbc], ebp
mov al, al
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov ch, ch
mov edi, 0xff
cmp ebx, edi
jle 0x1003e6d1
mov dword [esp + esi*4 + 0x94], edi
mov dl, dl
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
push ecx
pop ecx
cmp eax, ebp
jge 0x1003e6e5
mov dword [esp + esi*4 + 0x6c], ebp
mov ebp, ebp
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
mov ebx, ebx
cmp ecx, edi
jle 0x1003e6f7
mov dword [esp + esi*4 + 0x44], edi
mov edi, edi
mov eax, dword [esp + 0x24]
push 0x101664f0
push eax
call fcn.100fcca0
add esp, 8
mov dword [esp + 0x24], eax
xchg ebx, eax
xchg ebx, eax
cmp eax, ebp
je 0x1003e71c
add eax, 1
mov dword [esp + 0x24], eax
mov ah, ah
add esi, 1
mov dh, dh
cmp eax, ebp
jne 0x1003e5b0
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.100fbefc
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov edx, edx
mov eax, dword [ecx]
cmp eax, ebp
jne 0x1003e767
mov edx, dword [esp + 0x3c]
push edx
call fcn.100fbfbf
add esp, 4
mov ebp, ebp
xor eax, eax
jmp 0x1003eb5b
cmp dword [esp + 0x34], ebp
je 0x1003e784
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.100fcf90
add esp, 0xc
mov ebx, ebx
jmp 0x1003e798
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.100fcf90
add esp, 0xc
mov ebp, ebp
nop
push edx
pop edx
cmp dword [esi + 8], ebp
jle 0x1003eb47
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov bh, bh
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x1003eb29
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
mov edi, edi
cmp dword [esp + 0x38], 0
je 0x1003e8ed
mov bl, bl
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x1003eb12
lea esp, [esp]
push ebx
pop ebx
cmp dword [esp + 0x34], 0
jne 0x1003e80f
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 0x1003e823
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 0x1003eb12
movzx edx, byte [ebx + 1]
push ecx
pop ecx
movzx esi, byte [ebx]
mov ah, ah
mov eax, dword [ebx - 1]
and eax, 0xff
mov bh, bh
cmp dword [esp + 0x34], 0
jne 0x1003e891
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1003e8d7
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1003e8d7
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1003e8d7
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1003e8d7
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1003e8d7
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1003e8d7
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 dl, dl
jmp 0x1003e8d7
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1003e8d7
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1003e8d7
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1003e8d7
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1003e8d7
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1003e8d7
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1003e8d7
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 edx, edx
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x1003e7f0
jmp 0x1003eb12
cmp dword [esp + 0x40], 0
je 0x1003e9dd
mov dl, dl
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x1003eb12
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push eax
pop eax
mov al, al
test edx, edx
jne 0x1003e92c
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x1003e938
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x1003eb12
movzx edx, byte [ebx + 1]
mov cl, cl
movzx ecx, byte [ebx]
mov cl, cl
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 eax
pop eax
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x1003e997
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1003e9bf
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1003e9bf
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 edx
pop edx
mov esi, dword [esp + 0x24]
jmp 0x1003e9c7
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1003e9bf
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1003e9bf
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 0x1003e9c7
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x1003e916
jmp 0x1003eb12
mov ch, ch
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x1003eb12
jmp 0x1003e9f0
mov ch, ch
mov bl, bl
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 0x1003ea11
cmp byte [edx + edi], 1
jmp 0x1003ea15
cmp byte [edx + edi], 0
je 0x1003eb12
movzx ecx, byte [ebx + 1]
mov cl, cl
movzx edx, byte [ebx]
mov ch, ch
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.1003bd20
add esp, 0x18
mov eax, eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x1003eab3
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x1003eb01
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x1003eb01
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x1003eb01
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x1003eb01
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x1003eb01
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x1003eb01
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
push eax
pop eax
jmp 0x1003eb01
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x1003eb01
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x1003eb01
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x1003eb01
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x1003eb01
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x1003eb01
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x1003eb01
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 0x1003e9f0
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x1003e7d0
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x1003e7b2
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.100fbfbf
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.100fc49a
add esp, 0x144
ret