Function at 0x10037770
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 0x1003fc5d
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x20
mov eax, dword [0x1004b040]
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 [0x1004b66c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9c94]
cmp eax, dword [ecx + 4]
jle 0x10037829
push 0x11db9c94
call fcn.1003b300
add esp, 4
cmp dword [0x11db9c94], 0xffffffff
jne 0x10037829
mov dword [ebp - 4], 0
mov dword [ebp - 0x20], 0x635f7673
mov dword [ebp - 0x1c], 0x74616568
mov word [ebp - 0x18], 0x73
mov byte [ebp - 4], 1
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9c94
mov dword [0x11db9c78], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9c64]
cmp eax, dword [ecx + 4]
jle 0x100378b8
push 0x11db9c64
call fcn.1003b300
add esp, 4
cmp dword [0x11db9c64], 0xffffffff
jne 0x100378b8
mov dword [ebp - 4], 2
mov ecx, 0xf3
xor edx, edx
mov al, byte [edx + 0x10045a84]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10037880
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10037863
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 3
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9c64
mov dword [0x11db9ca8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9cd4]
cmp eax, dword [ecx + 4]
jle 0x10037942
push 0x11db9cd4
call fcn.1003b300
add esp, 4
cmp dword [0x11db9cd4], 0xffffffff
jne 0x10037942
mov dword [ebp - 4], 4
mov ecx, 0x60
xor edx, edx
mov al, byte [edx + 0x10045a94]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x1003790f
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x100378f2
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9cd4
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9ce8]
cmp eax, dword [ecx + 4]
jle 0x100379b1
push 0x11db9ce8
call fcn.1003b300
add esp, 4
cmp dword [0x11db9ce8], 0xffffffff
jne 0x100379b1
mov dword [ebp - 4], 6
mov dword [ebp - 0x20], 0x5f737066
mov dword [ebp - 0x1c], 0x78616d
mov byte [ebp - 4], 7
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9ce8
mov dword [0x11db9ccc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9cb0]
cmp eax, dword [ecx + 4]
jle 0x10037a26
push 0x11db9cb0
call fcn.1003b300
add esp, 4
cmp dword [0x11db9cb0], 0xffffffff
jne 0x10037a26
mov dword [ebp - 4], 8
mov dword [ebp - 0x20], 0x695f6c63
mov dword [ebp - 0x1c], 0x7265746e
mov word [ebp - 0x18], 0x70
mov byte [ebp - 4], 9
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9cb0
mov dword [0x11db9c6c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9cb8]
cmp eax, dword [ecx + 4]
jle 0x10037a9f
push 0x11db9cb8
call fcn.1003b300
add esp, 4
cmp dword [0x11db9cb8], 0xffffffff
jne 0x10037a9f
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x20], 0x635f6c63
mov dword [ebp - 0x1c], 0x6172646d
mov word [ebp - 0x18], 0x6574
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0xb
lea edx, [ebp - 0x20]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9cb8
mov dword [0x11db9cc8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9c68]
cmp eax, dword [ecx + 4]
jle 0x10037b35
push 0x11db9c68
call fcn.1003b300
add esp, 4
cmp dword [0x11db9c68], 0xffffffff
jne 0x10037b35
mov dword [ebp - 4], 0xc
mov ecx, 0x98
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x10045ac0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10037afd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10037ae0
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 0xd
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9c68
mov dword [0x11db9c58], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9c7c]
cmp eax, dword [ecx + 4]
jle 0x10037bc0
push 0x11db9c7c
call fcn.1003b300
add esp, 4
cmp dword [0x11db9c7c], 0xffffffff
jne 0x10037bc0
mov dword [ebp - 4], 0xe
mov ecx, 0x14
xor edx, edx
nop
mov al, byte [edx + str.gcIzqwyvxo]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10037b8d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10037b70
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9c7c
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9ce4]
cmp eax, dword [ecx + 4]
jle 0x10037c55
push 0x11db9ce4
call fcn.1003b300
add esp, 4
cmp dword [0x11db9ce4], 0xffffffff
jne 0x10037c55
mov dword [ebp - 4], 0x10
mov ecx, 0xed
xor edx, edx
nop
mov al, byte [edx + 0x10045b18]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x24], al
and ecx, 0x800000ff
jns 0x10037c1d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xd
jl 0x10037c00
mov byte [ebp - 0x17], 0
mov byte [ebp - 4], 0x11
lea edx, [ebp - 0x24]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9ce4
mov dword [0x11db9c5c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9cb4]
cmp eax, dword [ecx + 4]
jle 0x10037ce8
push 0x11db9cb4
call fcn.1003b300
add esp, 4
cmp dword [0x11db9cb4], 0xffffffff
jne 0x10037ce8
mov dword [ebp - 4], 0x12
mov ecx, 0xd5
xor edx, edx
mov al, byte [edx + 0x10045ae4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10037cb0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xf
jl 0x10037c93
mov byte [ebp - 0x19], 0
mov byte [ebp - 4], 0x13
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9cb4
mov dword [0x11db9cf0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9ce0]
cmp eax, dword [ecx + 4]
jle 0x10037d7b
push 0x11db9ce0
call fcn.1003b300
add esp, 4
cmp dword [0x11db9ce0], 0xffffffff
jne 0x10037d7b
mov dword [ebp - 4], 0x14
mov ecx, 0xa4
xor edx, edx
mov al, byte [edx + 0x10045af4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10037d43
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10037d26
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 0x15
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9ce0
mov dword [0x11db9cc0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9c84]
cmp eax, dword [ecx + 4]
jle 0x10037e15
push 0x11db9c84
call fcn.1003b300
add esp, 4
cmp dword [0x11db9c84], 0xffffffff
jne 0x10037e15
mov dword [ebp - 4], 0x16
mov ecx, 0x59
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x10045b58]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x28], al
and ecx, 0x800000ff
jns 0x10037ddd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x10
jl 0x10037dc0
mov byte [ebp - 0x18], 0
mov byte [ebp - 4], 0x17
lea edx, [ebp - 0x28]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9c84
mov dword [0x11db9c98], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9c8c]
cmp eax, dword [ecx + 4]
jle 0x10037ea0
push 0x11db9c8c
call fcn.1003b300
add esp, 4
cmp dword [0x11db9c8c], 0xffffffff
jne 0x10037ea0
mov dword [ebp - 4], 0x18
mov ecx, 0x81
xor edx, edx
nop
mov al, byte [edx + 0x10045b6c]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x10037e6d
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x10037e50
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x30]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
push 0x11db9c8c
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x11db9cd8]
cmp eax, dword [ecx + 4]
jle 0x10037f46
push 0x11db9cd8
call fcn.1003b300
add esp, 4
cmp dword [0x11db9cd8], 0xffffffff
jne 0x10037f46
mov dword [ebp - 4], 0x1a
mov ecx, 0xac
xor edx, edx
nop
mov al, byte [edx + 0x10045b28]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x30], al
and ecx, 0x800000ff
jns 0x10037efd
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1a
jl 0x10037ee0
mov byte [ebp - 0x16], 0
mov byte [ebp - 4], 0x1b
lea edx, [ebp - 0x30]
mov ecx, dword [0x1004b8d4]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
xorps xmm0, xmm0
mov word [ebp - 0x18], 0
push 0x11db9cd8
movups xmmword [ebp - 0x30], xmm0
mov byte [ebp - 0x16], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 4], 0xffffffff
call fcn.1003b2af
add esp, 4
mov edx, dword [0x11db9cf0]
cmp dword [edx + 0x2c], 2
jne 0x10037f63
mov eax, dword [edx]
mov ecx, edx
push 1
mov eax, dword [eax + 0x24]
call eax
mov edx, dword [0x11db9cf0]
mov eax, dword [0x11db9c58]
mov edi, dword [edx + 0x2c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [0x11db9c98]
mov esi, dword [eax + 0x2c]
mov eax, dword [0x11db9cc0]
mov eax, dword [eax + 0x2c]
cmp eax, ecx
cmovle eax, ecx
cmp esi, eax
cmovg esi, eax
cmp byte [0x1004b6dc], 0
je 0x1003800c
cmp byte [0x1004b17d], 0
je 0x1003801c
mov ecx, dword [0x11db9ccc]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x11db9c6c]
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 [0x11db9cc8]
mov eax, dword [0x11db9c5c]
mov edx, dword [ecx]
push dword [eax + 0x2c]
mov eax, dword [edx + 0x24]
call eax
mov ecx, dword [0x11db9c58]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x11db9cf0]
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x1004b17d], 0
jmp 0x1003801c
cmp byte [0x1004b17d], 0
jne 0x1003801c
mov byte [0x1004b17d], 1
mov ecx, dword [0x11db9ca8]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x10f6c79c], 0
je 0x1003804c
mov ecx, dword [0x11db9c78]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x1004b17e], 1
jmp 0x1003806b
cmp byte [0x1004b17e], 0
je 0x1003806b
mov ecx, dword [0x11db9c78]
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov byte [0x1004b17e], 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.1003af4e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret