Function at 0x100388e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10040fd5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x20
mov eax, dword [0x1004c040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov esi, dword [0x1004c66c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabd0]
cmp eax, dword [ecx + 4]
jle 0x100389b5
push 0x11dbabd0
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabd0], 0xffffffff
jne 0x100389b5
mov dword [ebp - 4], 0
mov ecx, 0x71
xor edx, edx
nop
mov al, byte [edx + 0x10046bcc]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x1003897d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10038960
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabd0
mov dword [0x11dbaba0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbab98]
cmp eax, dword [ecx + 4]
jle 0x10038a2a
push 0x11dbab98
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbab98], 0xffffffff
jne 0x10038a2a
mov dword [ebp - 4], 2
mov dword [ebp - 0x20], 0x736f7263
mov dword [ebp - 0x1c], 0x69616873
mov word [ebp - 0x18], 0x72
mov byte [ebp - 4], 3
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbab98
mov dword [0x11dbaba4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbac14]
cmp eax, dword [ecx + 4]
jle 0x10038a9f
push 0x11dbac14
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbac14], 0xffffffff
jne 0x10038a9f
mov dword [ebp - 4], 4
mov dword [ebp - 0x20], 0x635f7673
mov dword [ebp - 0x1c], 0x74616568
mov word [ebp - 0x18], 0x73
mov byte [ebp - 4], 5
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbac14
mov dword [0x11dbabb4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbac28]
cmp eax, dword [ecx + 4]
jle 0x10038b35
push 0x11dbac28
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbac28], 0xffffffff
jne 0x10038b35
mov dword [ebp - 4], 6
mov ecx, 0xf3
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x10046bf0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10038afd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10038ae0
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 7
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbac28
mov dword [0x11dbabe4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabf0]
cmp eax, dword [ecx + 4]
jle 0x10038bc0
push 0x11dbabf0
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabf0], 0xffffffff
jne 0x10038bc0
mov dword [ebp - 4], 8
mov ecx, 0x60
xor edx, edx
nop
mov al, byte [edx + 0x10046c00]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10038b8d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10038b70
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 9
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabf0
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabf8]
cmp eax, dword [ecx + 4]
jle 0x10038c2f
push 0x11dbabf8
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabf8], 0xffffffff
jne 0x10038c2f
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x20], 0x5f737066
mov dword [ebp - 0x1c], 0x78616d
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabf8
mov dword [0x11dbac0c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbab9c]
cmp eax, dword [ecx + 4]
jle 0x10038ca4
push 0x11dbab9c
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbab9c], 0xffffffff
jne 0x10038ca4
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x20], 0x695f6c63
mov dword [ebp - 0x1c], 0x7265746e
mov word [ebp - 0x18], 0x70
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbab9c
mov dword [0x11dbaba8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabb8]
cmp eax, dword [ecx + 4]
jle 0x10038d1d
push 0x11dbabb8
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabb8], 0xffffffff
jne 0x10038d1d
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x20], 0x635f6c63
mov dword [ebp - 0x1c], 0x6172646d
mov word [ebp - 0x18], 0x6574
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabb8
mov dword [0x11dbac08], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbac24]
cmp eax, dword [ecx + 4]
jle 0x10038dac
push 0x11dbac24
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbac24], 0xffffffff
jne 0x10038dac
mov dword [ebp - 4], 0x10
mov ecx, 0x98
xor edx, edx
mov al, byte [edx + 0x10046c40]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10038d74
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10038d57
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbac24
mov dword [0x11dbab8c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabf4]
cmp eax, dword [ecx + 4]
jle 0x10038e36
push 0x11dbabf4
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabf4], 0xffffffff
jne 0x10038e36
mov dword [ebp - 4], 0x12
mov ecx, 0x14
xor edx, edx
mov al, byte [edx + str.gcIzqwyvxo]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10038e03
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10038de6
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabf4
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbac20]
cmp eax, dword [ecx + 4]
jle 0x10038ec5
push 0x11dbac20
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbac20], 0xffffffff
jne 0x10038ec5
mov dword [ebp - 4], 0x14
mov ecx, 0xed
xor edx, edx
mov al, byte [edx + 0x10046c24]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10038e8d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10038e70
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbac20
mov dword [0x11dbab90], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabc0]
cmp eax, dword [ecx + 4]
jle 0x10038f55
push 0x11dbabc0
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabc0], 0xffffffff
jne 0x10038f55
mov dword [ebp - 4], 0x16
mov ecx, 0xd5
xor edx, edx
nop
mov al, byte [edx + 0x10046c80]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10038f1d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x10038f00
mov byte [ebp - 0x19], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabc0
mov dword [0x11dbac34], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabc8]
cmp eax, dword [ecx + 4]
jle 0x10038fe5
push 0x11dbabc8
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabc8], 0xffffffff
jne 0x10038fe5
mov dword [ebp - 4], 0x18
mov ecx, 0xa4
xor edx, edx
nop
mov al, byte [edx + 0x10046c90]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10038fad
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10038f90
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabc8
mov dword [0x11dbac00], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbac18]
cmp eax, dword [ecx + 4]
jle 0x10039075
push 0x11dbac18
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbac18], 0xffffffff
jne 0x10039075
mov dword [ebp - 4], 0x1a
mov ecx, 0x59
xor edx, edx
nop
mov al, byte [edx + 0x10046c50]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1003903d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10039020
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbac18
mov dword [0x11dbabd4], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbabec]
cmp eax, dword [ecx + 4]
jle 0x10039100
push 0x11dbabec
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbabec], 0xffffffff
jne 0x10039100
mov dword [ebp - 4], 0x1c
mov ecx, 0x81
xor edx, edx
nop
mov al, byte [edx + 0x10046c64]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x100390cd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x100390b0
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0x1d
lea edx, [ebp - 0x30]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11dbabec
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11dbac2c]
cmp eax, dword [ecx + 4]
jle 0x100391a6
push 0x11dbac2c
call fcn.1003c5b0
add esp, 4
cmp dword [0x11dbac2c], 0xffffffff
jne 0x100391a6
mov dword [ebp - 4], 0x1e
mov ecx, 0xac
xor edx, edx
nop
mov al, byte [edx + 0x10046cc0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x1003915d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x10039140
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x30]
mov ecx, dword [0x1004c8dc]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
xorps xmm0, xmm0
mov word [ebp - 0x18], 0
push 0x11dbac2c
movups xmmword [ebp - 0x30], xmm0
mov byte [ebp - 0x16], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 4], 0xffffffff
call fcn.1003c55f
add esp, 4
mov edx, dword [0x11dbac34]
cmp dword [edx + 0x2c], 2
jne 0x100391c3
mov eax, dword [edx]
mov ecx, edx
push 1
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [0x11dbac34]
mov eax, dword [0x11dbab8c]
mov edi, dword [edx + 0x2c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [0x11dbabd4]
mov esi, dword [eax + 0x2c]
mov eax, dword [0x11dbac00]
mov eax, dword [eax + 0x2c]
cmp eax, ecx
cmovle eax, ecx
cmp esi, eax
cmovg esi, eax
cmp byte [0x1004c6dc], 0
je 0x1003926c
cmp byte [0x1004c17e], 0
je 0x1003927c
mov ecx, dword [0x11dbac0c]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x11dbaba8]
movd xmm1, edi
movd xmm0, esi
cvtdq2ps xmm1, xmm1
mov eax, dword [ecx]
push ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x28]
divss xmm1, xmm0
movss dword [esp], xmm1
call eax
mov ecx, dword [0x11dbac08]
mov eax, dword [0x11dbab90]
mov edx, dword [ecx]
push dword [eax + 0x2c]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [0x11dbab8c]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x11dbac34]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x1004c17e], 0
jmp 0x1003927c
cmp byte [0x1004c17e], 0
jne 0x1003927c
mov byte [0x1004c17e], 1
mov ecx, dword [0x11dbabe4]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov eax, dword [0x10f6d7a0]
mov ecx, dword [0x11dbaba4]
test eax, eax
je 0x100392a4
cmp dword [ecx + 0x2c], 0
je 0x100392a4
push 0
jmp 0x100392b0
cmp dword [ecx + 0x2c], 1
je 0x100392b7
test eax, eax
jne 0x100392b7
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x1004c17d], 0
je 0x100392ed
movd xmm0, dword [0x10f6d7d8]
mov ecx, dword [0x11dbaba0]
cvtdq2ps xmm0, xmm0
push ecx
mov eax, dword [ecx]
mulss xmm0, dword [0x10047278]
mov eax, dword [eax + 0x28]
movss dword [esp], xmm0
call eax
mov byte [0x1004c17d], 1
cmp byte [0x10f6d7bc], 0
je 0x1003930e
mov ecx, dword [0x11dbabb4]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x1004c17f], 1
jmp 0x1003932d
cmp byte [0x1004c17f], 0
je 0x1003932d
mov ecx, dword [0x11dbabb4]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x1004c17f], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1003c1fe
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret