Function at 0x1003d8d0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101a53c4]
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 bl, bl
xor ebp, ebp
mov dword [esp + 0x40], ebp
mov ecx, ecx
mov ch, ch
mov ebx, ebx
mov eax, eax
xchg ebx, eax
xchg ebx, eax
mov ah, ah
nop
mov ecx, ecx
xor esi, esi
mov dword [esp + 0x20], esi
mov ecx, ecx
mov dword [esp + 0x34], ebp
mov ah, ah
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov esi, esi
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
push edx
pop edx
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.100f7cf4
add esp, 0xc
test eax, eax
je 0x1003d97a
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.100f7cf4
add esp, 0xc
test eax, eax
jne 0x1003d985
mov dword [esp + 0x34], ebx
mov dl, dl
add edi, 2
mov bh, bh
push 0x1015a824
push edi
call fcn.100f5820
add esp, 8
test eax, eax
je 0x1003db93
push edx
pop edx
cmp edi, ebp
je 0x1003de42
mov ebx, 0x64
lea ebx, [ebx]
cmp byte [edi], 0
je 0x1003de3e
cmp esi, 0xa
jge 0x1003de3e
mov dh, dh
mov dword [esp + 0x38], ebp
mov bl, bl
mov dword [esp + 0x40], ebp
mov ebx, ebx
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
push eax
pop eax
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 ebx
pop ebx
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.100f764d
add esp, 0x20
push ecx
pop ecx
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
mov ebx, ebx
cmp eax, ebp
jge 0x1003dac7
mov dword [esp + esi*4 + 0x6c], ebp
mov edi, edi
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
push edx
pop edx
mov eax, 0x168
cmp edx, eax
jle 0x1003dae5
mov dword [esp + esi*4 + 0x44], eax
nop
mov eax, dword [esp + 0x134]
sub eax, dword [esp + 0x18]
mov dword [esp + esi*4 + 0x94], eax
push ecx
pop ecx
cmp eax, ebp
jge 0x1003db06
mov dword [esp + esi*4 + 0x94], ebp
mov cl, cl
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x18]
add edx, ecx
mov dword [esp + esi*4 + 0xbc], edx
mov edi, edi
cmp edx, ebx
jle 0x1003db29
mov dword [esp + esi*4 + 0xbc], ebx
mov eax, eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
mov dword [esp + esi*4 + 0x10c], eax
mov bl, bl
cmp eax, ebp
jge 0x1003db46
mov dword [esp + esi*4 + 0x10c], ebp
nop
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
add edx, ecx
mov dword [esp + esi*4 + 0xe4], edx
mov ebp, ebp
cmp edx, ebx
jle 0x1003db66
mov dword [esp + esi*4 + 0xe4], ebx
mov dh, dh
push 0x1015a45c
push edi
call fcn.100f5820
add esp, 8
mov edi, eax
xchg ebx, eax
xchg ebx, eax
cmp edi, ebp
je 0x1003db81
add edi, 1
push eax
pop eax
add esi, 1
push edx
pop edx
cmp edi, ebp
jne 0x1003d9b0
jmp 0x1003de3e
push 0x1015a820
push edi
call fcn.100f5820
add esp, 8
test eax, eax
je 0x1003dca7
mov edi, edi
cmp edi, ebp
je 0x1003de42
mov ebx, 0x64
jmp 0x1003dbc0
cmp byte [edi], 0
je 0x1003de3e
cmp esi, 0xa
jge 0x1003de3e
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x38], ebp
mov cl, cl
mov dword [esp + 0x40], 1
mov dh, dh
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
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.100f764d
add esp, 0x10
mov ecx, ecx
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov bl, bl
cmp eax, ebp
jge 0x1003dc5b
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 bl, bl
mov eax, 0xff
cmp edx, eax
jle 0x1003dc7a
mov dword [esp + esi*4 + 0x6c], eax
mov dh, dh
push 0x1015a45c
push edi
call fcn.100f5820
add esp, 8
mov edi, eax
mov ebp, ebp
cmp edi, ebp
je 0x1003dc95
add edi, 1
mov ah, ah
add esi, 1
xchg ebx, eax
xchg ebx, eax
cmp edi, ebp
jne 0x1003dbc0
jmp 0x1003de3e
mov dword [esp + 0x24], edi
mov dl, dl
cmp edi, ebp
je 0x1003de42
jmp 0x1003dcb9
xor ebp, ebp
mov eax, dword [esp + 0x24]
cmp byte [eax], 0
je 0x1003de3e
cmp esi, 0xa
jge 0x1003de3e
xor eax, eax
mov dword [esp + 0x1c], eax
mov edx, edx
mov dword [esp + 0x18], eax
push ecx
pop ecx
push edx
pop edx
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 esi, esi
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.100f764d
add esp, 0x10
push eax
pop eax
movzx edi, byte [esp + 0x1a]
mov ebp, ebp
movzx ebx, byte [esp + 0x19]
mov ah, ah
mov ecx, dword [esp + 0x18]
and ecx, 0xff
push eax
pop eax
movzx ebp, byte [esp + 0x1e]
push ecx
pop ecx
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
nop
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov ch, ch
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov cl, cl
test eax, eax
jge 0x1003dd88
mov dword [esp + esi*4 + 0xe4], 0
mov bh, bh
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov ebx, ebx
cmp edi, 0xff
jle 0x1003dda8
mov dword [esp + esi*4 + 0x10c], 0xff
mov ebp, ebp
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
mov dl, dl
xor ebp, ebp
cmp eax, ebp
jge 0x1003ddc8
mov dword [esp + esi*4 + 0xbc], ebp
mov al, al
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov ebp, ebp
mov edi, 0xff
cmp ebx, edi
jle 0x1003dde5
mov dword [esp + esi*4 + 0x94], edi
mov ecx, ecx
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov dl, dl
cmp eax, ebp
jge 0x1003ddf9
mov dword [esp + esi*4 + 0x6c], ebp
xchg ebx, eax
xchg ebx, eax
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
xchg ebx, eax
xchg ebx, eax
cmp ecx, edi
jle 0x1003de0b
mov dword [esp + esi*4 + 0x44], edi
mov ebx, ebx
mov eax, dword [esp + 0x24]
push 0x1015a45c
push eax
call fcn.100f5820
add esp, 8
mov dword [esp + 0x24], eax
nop
cmp eax, ebp
je 0x1003de2f
add eax, 1
mov dword [esp + 0x24], eax
mov eax, eax
add esi, 1
mov edi, edi
cmp eax, ebp
jne 0x1003dcb7
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.100f4a78
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
mov ebp, ebp
mov eax, dword [ecx]
cmp eax, ebp
jne 0x1003de7a
mov edx, dword [esp + 0x3c]
push edx
call fcn.100f4b3b
add esp, 4
push ebx
pop ebx
xor eax, eax
jmp 0x1003e26b
cmp dword [esp + 0x34], ebp
je 0x1003de97
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.100f5b10
add esp, 0xc
push eax
pop eax
jmp 0x1003deaa
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.100f5b10
add esp, 0xc
nop
push ebx
pop ebx
mov cl, cl
cmp dword [esi + 8], ebp
jle 0x1003e257
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov ecx, ecx
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x1003e239
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
cmp dword [esp + 0x38], 0
je 0x1003dffd
mov dh, dh
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x1003e222
lea ebx, [ebx]
mov dl, dl
cmp dword [esp + 0x34], 0
jne 0x1003df1f
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 0x1003df33
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 0x1003e222
movzx edx, byte [ebx + 1]
mov al, al
movzx esi, byte [ebx]
mov ecx, ecx
mov eax, dword [ebx - 1]
and eax, 0xff
mov dl, dl
cmp dword [esp + 0x34], 0
jne 0x1003dfa1
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1003dfe7
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1003dfe7
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1003dfe7
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1003dfe7
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1003dfe7
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1003dfe7
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
mov ecx, ecx
jmp 0x1003dfe7
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1003dfe7
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1003dfe7
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1003dfe7
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1003dfe7
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1003dfe7
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1003dfe7
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 bl, bl
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x1003df00
jmp 0x1003e222
cmp dword [esp + 0x40], 0
je 0x1003e0ed
mov edx, edx
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x1003e222
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
push ebx
pop ebx
mov ebx, ebx
test edx, edx
jne 0x1003e03c
mov edx, dword [eax + 8]
imul edx, edi
add edx, dword [ecx]
cmp byte [edx + ebp], 1
jmp 0x1003e048
mov eax, dword [eax + 8]
imul eax, edi
add eax, dword [ecx]
cmp byte [eax + ebp], 0
je 0x1003e222
movzx edx, byte [ebx + 1]
push ecx
pop ecx
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 eax
pop eax
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x1003e0a7
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1003e0cf
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1003e0cf
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 ecx, ecx
mov esi, dword [esp + 0x24]
jmp 0x1003e0d7
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1003e0cf
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1003e0cf
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
push edx
pop edx
mov esi, dword [esp + 0x24]
jmp 0x1003e0d7
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x1003e026
jmp 0x1003e222
mov ch, ch
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x1003e222
jmp 0x1003e100
mov bl, bl
mov dh, dh
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 0x1003e121
cmp byte [edx + ebp], 1
jmp 0x1003e125
cmp byte [edx + ebp], 0
je 0x1003e222
movzx ecx, byte [ebx + 1]
mov al, al
movzx edx, byte [ebx]
push ebx
pop ebx
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.1003c0a0
add esp, 0x18
mov ah, ah
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x1003e1c3
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x1003e211
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x1003e211
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x1003e211
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x1003e211
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x1003e211
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x1003e211
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 ebx, ebx
jmp 0x1003e211
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x1003e211
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x1003e211
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x1003e211
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x1003e211
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x1003e211
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x1003e211
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 dl, dl
mov ebx, dword [esp + 0x24]
add esi, 1
cmp esi, dword [esp + 0x20]
jl 0x1003e100
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x1003dee1
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x1003dec5
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.100f4b3b
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.100f5016
add esp, 0x144
ret