Function at 0x1003d740
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x144
mov eax, dword [0x101b03d4]
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
push ebx
pop ebx
xor ebp, ebp
mov dword [esp + 0x40], ebp
nop
mov cl, cl
xchg ebx, eax
xchg ebx, eax
push ebx
pop ebx
mov ah, ah
mov eax, eax
mov cl, cl
nop
xor esi, esi
mov dword [esp + 0x20], esi
mov dl, dl
mov dword [esp + 0x34], ebp
mov esi, esi
mov al, 0x40
mov byte [esp + 0x10], 0x62
mov byte [esp + 0x11], al
mov byte [esp + 0x12], 0
mov edx, edx
mov byte [esp + 0x14], 0x42
mov byte [esp + 0x15], al
mov byte [esp + 0x16], 0
mov ecx, ecx
push 2
lea eax, [esp + 0x14]
push eax
push edi
call fcn.100fde04
add esp, 0xc
test eax, eax
je 0x1003d7e9
push 2
lea ecx, [esp + 0x18]
push ecx
push edi
call fcn.100fde04
add esp, 0xc
test eax, eax
jne 0x1003d7f4
mov dword [esp + 0x34], ebx
mov bl, bl
add edi, 2
mov al, al
push 0x101658b4
push edi
call fcn.100fb930
add esp, 8
test eax, eax
je 0x1003d9fc
mov ah, ah
cmp edi, ebp
je 0x1003dc90
mov ebx, 0x64
lea esp, [esp]
cmp esi, 0xa
jge 0x1003dc8c
push eax
pop eax
mov dword [esp + 0x38], ebp
mov eax, eax
mov dword [esp + 0x40], ebp
push ecx
pop ecx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x134], ebp
mov dword [esp + 0x24], ebp
mov eax, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebp
push edx
pop edx
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.100fd75d
add esp, 0x20
push ebx
pop ebx
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0x1c]
mov dword [esp + esi*4 + 0x6c], eax
mov ecx, ecx
cmp eax, ebp
jge 0x1003d92e
mov dword [esp + esi*4 + 0x6c], ebp
mov dh, dh
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + esi*4 + 0x44], edx
mov ah, ah
mov eax, 0x168
cmp edx, eax
jle 0x1003d94d
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 cl, cl
cmp eax, ebp
jge 0x1003d96e
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 ecx
pop ecx
cmp edx, ebx
jle 0x1003d991
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
push eax
pop eax
cmp eax, ebp
jge 0x1003d9af
mov dword [esp + esi*4 + 0x10c], ebp
mov edi, edi
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 0x1003d9cf
mov dword [esp + esi*4 + 0xe4], ebx
mov ebx, ebx
push 0x101654d8
push edi
call fcn.100fb930
add esp, 8
mov edi, eax
push edx
pop edx
cmp edi, ebp
je 0x1003d9ea
add edi, 1
mov bh, bh
add esi, 1
mov ebx, ebx
cmp edi, ebp
jne 0x1003d820
jmp 0x1003dc8c
push 0x101658b0
push edi
call fcn.100fb930
add esp, 8
test eax, eax
je 0x1003dafe
mov ebx, ebx
cmp edi, ebp
je 0x1003dc90
mov ebx, 0x64
cmp esi, 0xa
jge 0x1003dc8c
push eax
pop eax
mov dword [esp + 0x38], ebp
mov bh, bh
mov dword [esp + 0x40], 1
mov al, al
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
mov al, al
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x13c]
push edx
push edi
call fcn.100fd75d
add esp, 0x10
mov bh, bh
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x24]
mov dword [esp + esi*4 + 0x44], eax
mov al, al
cmp eax, ebp
jge 0x1003dab2
mov dword [esp + esi*4 + 0x44], ebp
nop
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + esi*4 + 0x6c], edx
mov dl, dl
mov eax, 0xff
cmp edx, eax
jle 0x1003dad1
mov dword [esp + esi*4 + 0x6c], eax
mov ch, ch
push 0x101654d8
push edi
call fcn.100fb930
add esp, 8
mov edi, eax
mov edi, edi
cmp edi, ebp
je 0x1003daec
add edi, 1
mov esi, esi
add esi, 1
mov ebp, ebp
cmp edi, ebp
jne 0x1003da21
jmp 0x1003dc8c
mov dword [esp + 0x24], edi
mov dl, dl
cmp edi, ebp
je 0x1003dc90
jmp 0x1003db12
xor ebp, ebp
cmp esi, 0xa
jge 0x1003dc8c
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, eax
mov dword [esp + 0x18], eax
mov dl, dl
push edx
pop edx
mov ah, ah
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 eax, eax
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.100fd75d
add esp, 0x10
mov ah, ah
movzx edi, byte [esp + 0x1a]
mov ebx, ebx
movzx ebx, byte [esp + 0x19]
mov dh, dh
mov ecx, dword [esp + 0x18]
and ecx, 0xff
mov bh, bh
movzx ebp, byte [esp + 0x1e]
mov bl, bl
movzx edx, byte [esp + 0x1d]
mov dword [esp + 0x20], edx
mov ch, ch
mov edx, dword [esp + 0x1c]
and edx, 0xff
push ebx
pop ebx
mov eax, ebp
sub eax, edi
mov dword [esp + esi*4 + 0xe4], eax
mov cl, cl
test eax, eax
jge 0x1003dbd5
mov dword [esp + esi*4 + 0xe4], 0
mov bl, bl
add edi, ebp
mov dword [esp + esi*4 + 0x10c], edi
mov edi, edi
cmp edi, 0xff
jle 0x1003dbf5
mov dword [esp + esi*4 + 0x10c], 0xff
mov dl, dl
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, ebx
mov dword [esp + esi*4 + 0xbc], eax
mov dh, dh
xor ebp, ebp
cmp eax, ebp
jge 0x1003dc15
mov dword [esp + esi*4 + 0xbc], ebp
mov eax, eax
add ebx, edi
mov dword [esp + esi*4 + 0x94], ebx
mov ebx, ebx
mov edi, 0xff
cmp ebx, edi
jle 0x1003dc32
mov dword [esp + esi*4 + 0x94], edi
mov edi, edi
mov eax, edx
sub eax, ecx
mov dword [esp + esi*4 + 0x6c], eax
mov esi, esi
cmp eax, ebp
jge 0x1003dc46
mov dword [esp + esi*4 + 0x6c], ebp
mov bl, bl
add ecx, edx
mov dword [esp + esi*4 + 0x44], ecx
push ebx
pop ebx
cmp ecx, edi
jle 0x1003dc58
mov dword [esp + esi*4 + 0x44], edi
mov dl, dl
mov eax, dword [esp + 0x24]
push 0x101654d8
push eax
call fcn.100fb930
add esp, 8
mov dword [esp + 0x24], eax
mov cl, cl
cmp eax, ebp
je 0x1003dc7d
add eax, 1
mov dword [esp + 0x24], eax
mov ch, ch
add esi, 1
mov ah, ah
cmp eax, ebp
jne 0x1003db10
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.100fab8c
mov ecx, dword [esp + 0x34]
add esp, 4
mov dword [ecx], eax
push ecx
pop ecx
mov eax, dword [ecx]
cmp eax, ebp
jne 0x1003dcc8
mov edx, dword [esp + 0x3c]
push edx
call fcn.100fac4f
add esp, 4
mov dh, dh
xor eax, eax
jmp 0x1003e0bb
cmp dword [esp + 0x34], ebp
je 0x1003dce4
mov ecx, dword [esi + 4]
imul ecx, dword [esi + 8]
push ecx
push 1
push eax
call fcn.100fbc20
add esp, 0xc
nop
jmp 0x1003dcf7
mov edx, dword [esi + 4]
imul edx, dword [esi + 8]
push edx
push ebp
push eax
call fcn.100fbc20
add esp, 0xc
nop
mov dl, dl
xchg ebx, eax
xchg ebx, eax
cmp dword [esi + 8], ebp
jle 0x1003e0a7
mov eax, dword [esp + 0x3c]
add eax, 1
mov dword [esp + 0x134], eax
mov ch, ch
mov ecx, dword [esp + 0x2c]
xor edi, edi
cmp dword [ecx + 4], edi
jle 0x1003e089
mov ebx, dword [esp + 0x134]
mov dword [esp + 0x24], ebx
mov edi, edi
cmp dword [esp + 0x38], 0
je 0x1003de4d
mov edx, edx
xor ecx, ecx
cmp dword [esp + 0x20], ecx
jle 0x1003e072
lea esp, [esp]
mov ebp, ebp
cmp dword [esp + 0x34], 0
jne 0x1003dd6f
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 0x1003dd83
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 0x1003e072
movzx edx, byte [ebx + 1]
push edx
pop edx
movzx esi, byte [ebx]
push ecx
pop ecx
mov eax, dword [ebx - 1]
and eax, 0xff
mov ebx, ebx
cmp dword [esp + 0x34], 0
jne 0x1003ddf1
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1003de37
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1003de37
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1003de37
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1003de37
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1003de37
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1003de37
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 ebp, ebp
jmp 0x1003de37
cmp edx, dword [esp + ecx*4 + 0xe4]
jl 0x1003de37
cmp edx, dword [esp + ecx*4 + 0x10c]
jg 0x1003de37
cmp esi, dword [esp + ecx*4 + 0xbc]
jl 0x1003de37
cmp esi, dword [esp + ecx*4 + 0x94]
jg 0x1003de37
cmp eax, dword [esp + ecx*4 + 0x6c]
jl 0x1003de37
cmp eax, dword [esp + ecx*4 + 0x44]
jg 0x1003de37
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 bh, bh
mov ebx, dword [esp + 0x24]
add ecx, 1
cmp ecx, dword [esp + 0x20]
jl 0x1003dd50
jmp 0x1003e072
cmp dword [esp + 0x40], 0
je 0x1003df3d
push eax
pop eax
xor esi, esi
cmp dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
jle 0x1003e072
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
mov dh, dh
mov edi, edi
test edx, edx
jne 0x1003de8c
mov edx, dword [eax + 4]
imul edx, ebp
add edx, dword [ecx]
cmp byte [edx + edi], 1
jmp 0x1003de98
mov eax, dword [eax + 4]
imul eax, ebp
add eax, dword [ecx]
cmp byte [eax + edi], 0
je 0x1003e072
movzx edx, byte [ebx + 1]
mov dl, dl
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
mov bh, bh
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x1003def7
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1003df1f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1003df1f
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 dl, dl
mov esi, dword [esp + 0x24]
jmp 0x1003df27
cmp eax, dword [esp + esi*4 + 0x44]
jl 0x1003df1f
cmp eax, dword [esp + esi*4 + 0x6c]
jg 0x1003df1f
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 0x1003df27
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
add esi, 1
cmp esi, dword [esp + 0x20]
mov dword [esp + 0x24], esi
jl 0x1003de76
jmp 0x1003e072
mov ebx, ebx
xor esi, esi
cmp dword [esp + 0x20], esi
jle 0x1003e072
jmp 0x1003df50
mov ebp, ebp
mov eax, eax
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 0x1003df71
cmp byte [edx + edi], 1
jmp 0x1003df75
cmp byte [edx + edi], 0
je 0x1003e072
movzx ecx, byte [ebx + 1]
mov dh, dh
movzx edx, byte [ebx]
mov ebx, ebx
mov eax, dword [ebx - 1]
and eax, 0xff
mov edx, edx
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.1003b290
add esp, 0x18
mov eax, eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x28]
jne 0x1003e013
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x1003e061
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x1003e061
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x1003e061
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x1003e061
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x1003e061
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x1003e061
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
mov ebp, ebp
jmp 0x1003e061
cmp eax, dword [esp + esi*4 + 0x6c]
jl 0x1003e061
cmp eax, dword [esp + esi*4 + 0x44]
jg 0x1003e061
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + esi*4 + 0x94]
jl 0x1003e061
cmp eax, dword [esp + esi*4 + 0xbc]
jg 0x1003e061
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + esi*4 + 0x10c]
jl 0x1003e061
cmp eax, dword [esp + esi*4 + 0xe4]
jg 0x1003e061
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 0x1003df50
mov ecx, dword [esp + 0x2c]
add edi, 1
add ebx, 4
cmp edi, dword [ecx + 4]
mov dword [esp + 0x24], ebx
jl 0x1003dd30
mov edx, dword [esp + 0x160]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x134], edx
add ebp, 1
cmp ebp, dword [eax + 8]
jl 0x1003dd12
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.100fac4f
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.100fb12a
add esp, 0x144
ret