Function at 0x10037940
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007871c
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x100a500c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100a683c]
push 0x100a9060
push 0
push 0
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x28], 0x477e508d
mov eax, dword [esi + 0x27b0]
test al, 1
jne 0x100379ec
or eax, 1
mov dword [esi + 0x27b0], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x49ac], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0x49a8], al
add ecx, 1
adc edx, 0
jne 0x100379d8
cmp ecx, 4
jb 0x100379c0
push 0x10087b30
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x49a8]
mov ecx, edi
call fcn.10068e40
mov ecx, edi
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037a20
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb8]
call fcn.1006ef20
mov dword [ebp - 4], 1
movaps xmm0, xmmword [0x10097bd0]
mov eax, dword [esi + 0x4a54]
mov byte [ebp - 0x68], 0xab
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x10097d40]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x10037abc
or eax, 1
mov dword [esi + 0x4a54], eax
mov byte [ebp - 4], 2
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x5cd], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + esi + 0x5ac], al
add ecx, 1
adc edx, 0
jne 0x10037aab
cmp ecx, 0x21
jb 0x10037a90
push 0x10087b80
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 1
lea edi, [esi + 0x5ac]
mov ecx, edi
call fcn.10068ea0
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037af0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5a88
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 4
push ecx
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0xd0]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x28], esp
lea edx, [ebp - 0xd0]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 6
movaps xmm0, xmmword [0x10097c10]
mov eax, dword [esi + 0x98c]
mov dword [ebp - 0x30], 0x472e54c8
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10037bc9
or eax, 1
mov dword [esi + 0x98c], eax
mov byte [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x3b94], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [ecx + esi + 0x3b80], al
add ecx, 1
adc edx, 0
jne 0x10037bb8
cmp ecx, 0x14
jb 0x10037ba0
push 0x10087bd0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 6
lea edi, [esi + 0x3b80]
mov ecx, edi
call fcn.10068f00
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037bf1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 5
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xbc]
cmp edx, 0x10
jb 0x10037c50
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037c46
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037d3d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
cmp edx, 0x10
jb 0x10037ca3
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037c99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037d3d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x10037cef
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037ce5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037d3d
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x10037d4d
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037d43
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10037d43
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1bb8]
mov dword [ebp - 0x28], 0xf566eebf
push 0x100a9060
push 0
push 0
test al, 1
jne 0x10037dfc
or eax, 1
mov dword [esi + 0x1bb8], eax
mov dword [ebp - 4], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x3598], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x3594], al
add ecx, 1
adc edx, 0
jne 0x10037de8
cmp ecx, 4
jb 0x10037dd0
push 0x10087a40
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x3594]
mov ecx, edi
call fcn.10068d20
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037e30
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov dword [ebp - 4], 9
movaps xmm0, xmmword [0x10097a20]
mov eax, dword [esi + 0x9c4]
mov byte [ebp - 0x68], 0x99
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x100978a0]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x10037ecc
or eax, 1
mov dword [esi + 0x9c4], eax
mov byte [ebp - 4], 0xa
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x33b9], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + esi + 0x3398], al
add ecx, 1
adc edx, 0
jne 0x10037ebb
cmp ecx, 0x21
jb 0x10037ea0
push 0x10087a90
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 9
lea edi, [esi + 0x3398]
mov ecx, edi
call fcn.10068d80
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037f00
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5c78
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xc
push ecx
push eax
push dword [ebp - 0x1f]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0xe
movaps xmm0, xmmword [0x10097a50]
mov eax, dword [esi + 0xfc0]
mov dword [ebp - 0x30], 0xf536eafa
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10037fd9
or eax, 1
mov dword [esi + 0xfc0], eax
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x4080], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [esi + ecx + 0x406c], al
add ecx, 1
adc edx, 0
jne 0x10037fc8
cmp ecx, 0x14
jb 0x10037fb0
push 0x10087ae0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0xe
lea edi, [esi + 0x406c]
mov ecx, edi
call fcn.10068de0
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038001
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0xd
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x10038060
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038056
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003814d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x100380b3
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100380a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003814d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x100380ff
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100380f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003814d
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x1003815d
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038153
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10038153
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1828]
mov dword [ebp - 0x28], 0x7dbebe17
push 0x100a9060
push 0
push 0
test al, 1
jne 0x1003820c
or eax, 1
mov dword [esi + 0x1828], eax
mov dword [ebp - 4], 0x10
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0xda4], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0xda0], al
add ecx, 1
adc edx, 0
jne 0x100381f8
cmp ecx, 4
jb 0x100381e0
push 0x10087950
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0xda0]
mov ecx, edi
call fcn.10068c00
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038240
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov dword [ebp - 4], 0x11
movaps xmm0, xmmword [0x100971b0]
mov eax, dword [esi + 0x4340]
mov byte [ebp - 0x68], 0x31
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x10097460]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x100382dc
or eax, 1
mov dword [esi + 0x4340], eax
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x28d1], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [esi + ecx + 0x28b0], al
add ecx, 1
adc edx, 0
jne 0x100382cb
cmp ecx, 0x21
jb 0x100382b0
push 0x100879a0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x11
lea edi, [esi + 0x28b0]
mov ecx, edi
call fcn.10068c60
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038310
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5e48
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x14
push ecx
push eax
push dword [ebp - 0x1f]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x16
movaps xmm0, xmmword [0x100971e0]
mov eax, dword [esi + 0x4374]
mov dword [ebp - 0x30], 0x7deeba52
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x100383e9
or eax, 1
mov dword [esi + 0x4374], eax
mov byte [ebp - 4], 0x17
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0xf08], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [esi + ecx + 0xef4], al
add ecx, 1
adc edx, 0
jne 0x100383d8
cmp ecx, 0x14
jb 0x100383c0
push 0x100879f0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x16
lea edi, [esi + 0xef4]
mov ecx, edi
call fcn.10068cc0
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038411
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x15
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x10038470
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038466
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003855d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x100384c3
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100384b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003855d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x1003850f
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038505
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003855d
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x1003856d
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038563
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10038563
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
mov eax, dword [esi + 0x3d74]
mov dword [ebp - 0x24], 0x61679faf
mov dword [ebp - 0x20], 0xdaf0efc2
mov byte [ebp - 0x1c], 0xc7
push 0x100a9060
test al, 1
jne 0x1003860c
or eax, 1
mov dword [esi + 0x3d74], eax
mov dword [ebp - 4], 0x18
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x2c51], 1
nop
mov al, byte [ebp + ecx - 0x24]
mov byte [esi + ecx + 0x2c48], al
add ecx, 1
adc edx, 0
jne 0x100385f8
cmp ecx, 9
jb 0x100385e0
push 0x10087810
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2c48]
mov ecx, edi
call fcn.10068a80
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x20], esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038637
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov dword [ebp - 4], 0x19
mov eax, dword [esi + 0xd30]
mov dword [ebp - 0x28], 0x112e80e1
test al, 1
jne 0x100386b9
or eax, 1
mov dword [esi + 0xd30], eax
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x32f4], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x32f0], al
add ecx, 1
adc edx, 0
jne 0x100386a8
cmp ecx, 4
jb 0x10038690
push 0x10087860
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x19
lea edi, [esi + 0x32f0]
mov ecx, edi
call fcn.10068ae0
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100386e6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov byte [ebp - 4], 0x1b
movaps xmm0, xmmword [0x10097ac0]
mov eax, dword [esi + 0x3620]
mov byte [ebp - 0x68], 0xc7
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x10097920]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x1003877c
or eax, 1
mov dword [esi + 0x3620], eax
mov byte [ebp - 4], 0x1c
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x1f21], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [esi + ecx + 0x1f00], al
add ecx, 1
adc edx, 0
jne 0x1003876b
cmp ecx, 0x21
jb 0x10038750
push 0x100878b0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x1b
lea edi, [esi + 0x1f00]
mov ecx, edi
call fcn.10068b40
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100387b0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5a88
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x1e
push ecx
push eax
push dword [ebp - 0x1f]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x28], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x20
movaps xmm0, xmmword [0x10097ad0]
mov eax, dword [esi + 0x378c]
mov dword [ebp - 0x30], 0x117e84a4
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10038889
or eax, 1
mov dword [esi + 0x378c], eax
mov byte [ebp - 4], 0x21
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x3dec], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [esi + ecx + 0x3dd8], al
add ecx, 1
adc edx, 0
jne 0x10038878
cmp ecx, 0x14
jb 0x10038860
push 0x10087900
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x20
lea edi, [esi + 0x3dd8]
mov ecx, edi
call fcn.10068ba0
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100388b1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x25
call dword [eax]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x1003890f
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038905
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100389fc
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x10038962
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038958
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100389fc
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x100389ae
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100389a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100389fc
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x10038a0c
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038a02
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10038a02
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x2f68]
mov dword [ebp - 0x24], 0xbf992bc7
mov dword [ebp - 0x20], 0xc0142f68
mov byte [ebp - 0x1c], 0xaf
push 0x100a9060
test al, 1
jne 0x10038abc
or eax, 1
mov dword [esi + 0x2f68], eax
mov dword [ebp - 4], 0x26
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x1d0d], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x24]
mov byte [ecx + esi + 0x1d04], al
add ecx, 1
adc edx, 0
jne 0x10038aa8
cmp ecx, 9
jb 0x10038a90
push 0x100876d0
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1d04]
mov ecx, edi
call fcn.10068900
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x14], esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038ae7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov dword [ebp - 4], 0x27
mov eax, dword [esi + 0x2cdc]
mov dword [ebp - 0x28], 0xcfd03489
test al, 1
jne 0x10038b69
or eax, 1
mov dword [esi + 0x2cdc], eax
mov byte [ebp - 4], 0x28
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x2910], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0x290c], al
add ecx, 1
adc edx, 0
jne 0x10038b58
cmp ecx, 4
jb 0x10038b40
push 0x10087720
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x27
lea edi, [esi + 0x290c]
mov ecx, edi
call fcn.10068960
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038b96
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov byte [ebp - 4], 0x29
movaps xmm0, xmmword [0x10097810]
mov eax, dword [esi + 0x3700]
mov byte [ebp - 0x68], 0xaf
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x100979f0]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x10038c2c
or eax, 1
mov dword [esi + 0x3700], eax
mov byte [ebp - 4], 0x2a
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x41c1], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + esi + 0x41a0], al
add ecx, 1
adc edx, 0
jne 0x10038c1b
cmp ecx, 0x21
jb 0x10038c00
push 0x10087770
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x29
lea edi, [esi + 0x41a0]
mov ecx, edi
call fcn.100689c0
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038c60
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5c78
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x2c
push ecx
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x2e
movaps xmm0, xmmword [0x10097850]
mov eax, dword [esi + 0x3a4c]
mov dword [ebp - 0x30], 0xcf8030cc
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10038d39
or eax, 1
mov dword [esi + 0x3a4c], eax
mov byte [ebp - 4], 0x2f
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov byte [esi + 0x4528], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [ecx + esi + 0x4514], al
add ecx, 1
adc edx, 0
jne 0x10038d28
cmp ecx, 0x14
jb 0x10038d10
push 0x100877c0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x2e
lea edi, [esi + 0x4514]
mov ecx, edi
call fcn.10068a20
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038d61
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x33
call dword [eax]
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x10038dbf
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038db5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038eac
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x10038e12
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038e08
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038eac
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x10038e5e
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038e54
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038eac
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x10038ebc
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038eb2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10038eb2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x32ac]
mov dword [ebp - 0x24], 0x3d397981
mov dword [ebp - 0x20], 0xe2363938
mov byte [ebp - 0x1c], 0xe9
push 0x100a9060
test al, 1
jne 0x10038f6c
or eax, 1
mov dword [esi + 0x32ac], eax
mov dword [ebp - 4], 0x34
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov byte [esi + 0x715], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x24]
mov byte [esi + ecx + 0x70c], al
add ecx, 1
adc edx, 0
jne 0x10038f58
cmp ecx, 9
jb 0x10038f40
push 0x10087590
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x70c]
mov ecx, edi
call fcn.10068780
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x14], esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10038f97
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov dword [ebp - 4], 0x35
mov eax, dword [esi + 0x109c]
mov dword [ebp - 0x28], 0x4d7066cf
test al, 1
jne 0x10039019
or eax, 1
mov dword [esi + 0x109c], eax
mov byte [ebp - 4], 0x36
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x4554], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x4550], al
add ecx, 1
adc edx, 0
jne 0x10039008
cmp ecx, 4
jb 0x10038ff0
push 0x100875e0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x35
lea edi, [esi + 0x4550]
mov ecx, edi
call fcn.100687e0
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039046
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov byte [ebp - 4], 0x37
movaps xmm0, xmmword [0x10097bf0]
mov eax, dword [esi + 0x1364]
mov byte [ebp - 0x68], 0xe9
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x10097d70]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x100390dc
or eax, 1
mov dword [esi + 0x1364], eax
mov byte [ebp - 4], 0x38
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0xa49], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [esi + ecx + 0xa28], al
add ecx, 1
adc edx, 0
jne 0x100390cb
cmp ecx, 0x21
jb 0x100390b0
push 0x10087630
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x37
lea edi, [esi + 0xa28]
mov ecx, edi
call fcn.10068840
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039110
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5e48
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x3a
push ecx
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x3c
movaps xmm0, xmmword [0x10097c20]
mov eax, dword [esi + 0x4964]
mov dword [ebp - 0x30], 0x4d20628a
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x100391e9
or eax, 1
mov dword [esi + 0x4964], eax
mov byte [ebp - 4], 0x3d
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov byte [esi + 0x8b0], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [esi + ecx + 0x89c], al
add ecx, 1
adc edx, 0
jne 0x100391d8
cmp ecx, 0x14
jb 0x100391c0
push 0x10087680
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x3c
lea edi, [esi + 0x89c]
mov ecx, edi
call fcn.100688a0
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039211
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x41
call dword [eax]
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x1003926f
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039265
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003935c
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x3f
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x100392c2
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100392b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003935c
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x1003930e
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039304
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003935c
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x1003936c
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039362
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10039362
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x4438]
mov dword [ebp - 0x18], 0x43c5e1f7
mov dword [ebp - 0x14], 0xff0dca3
push 0x100a9060
test al, 1
jne 0x1003941c
or eax, 1
mov dword [esi + 0x4438], eax
mov dword [ebp - 4], 0x42
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x2400], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x23f8], al
add ecx, 1
adc edx, 0
jne 0x10039408
cmp ecx, 8
jb 0x100393f0
push 0x10087450
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x23f8]
mov ecx, edi
call fcn.10068600
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x14], esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039447
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov dword [ebp - 4], 0x43
mov eax, dword [esi + 0x4254]
mov dword [ebp - 0x28], 0x338cfeb9
test al, 1
jne 0x100394c9
or eax, 1
mov dword [esi + 0x4254], eax
mov byte [ebp - 4], 0x44
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x284], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0x280], al
add ecx, 1
adc edx, 0
jne 0x100394b8
cmp ecx, 4
jb 0x100394a0
push 0x100874a0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x43
lea edi, [esi + 0x280]
mov ecx, edi
call fcn.10068660
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100394f6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov byte [ebp - 4], 0x45
movaps xmm0, xmmword [0x10096650]
mov eax, dword [esi + 0xdcc]
mov byte [ebp - 0x68], 0x9f
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x10096810]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x1003958c
or eax, 1
mov dword [esi + 0xdcc], eax
mov byte [ebp - 4], 0x46
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x14f9], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + esi + 0x14d8], al
add ecx, 1
adc edx, 0
jne 0x1003957b
cmp ecx, 0x21
jb 0x10039560
push 0x100874f0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x45
lea edi, [esi + 0x14d8]
mov ecx, edi
call fcn.100686c0
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100395c0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5a88
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x48
push ecx
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x4a
movaps xmm0, xmmword [0x10096670]
mov eax, dword [esi + 0x266c]
mov dword [ebp - 0x30], 0x33dcfafc
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10039699
or eax, 1
mov dword [esi + 0x266c], eax
mov byte [ebp - 4], 0x4b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov byte [esi + 0x2720], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [ecx + esi + 0x270c], al
add ecx, 1
adc edx, 0
jne 0x10039688
cmp ecx, 0x14
jb 0x10039670
push 0x10087540
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x4a
lea edi, [esi + 0x270c]
mov ecx, edi
call fcn.10068720
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100396c1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x4f
call dword [eax]
mov byte [ebp - 4], 0x4e
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x1003971f
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039715
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003980c
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x4d
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x10039772
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039768
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003980c
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x100397be
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100397b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003980c
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x1003981c
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039812
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10039812
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x18b4]
mov dword [ebp - 0x18], 0x3f4da3bf
mov dword [ebp - 0x14], 0xefaaa6af
push 0x100a9060
test al, 1
jne 0x100398cc
or eax, 1
mov dword [esi + 0x18b4], eax
mov dword [ebp - 4], 0x50
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x1744], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x173c], al
add ecx, 1
adc edx, 0
jne 0x100398b8
cmp ecx, 8
jb 0x100398a0
push 0x10087310
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x173c]
mov ecx, edi
call fcn.10068480
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x14], esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100398f7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov dword [ebp - 4], 0x51
mov eax, dword [esi + 0x423c]
mov dword [ebp - 0x28], 0x4f04bcf1
test al, 1
jne 0x10039979
or eax, 1
mov dword [esi + 0x423c], eax
mov byte [ebp - 4], 0x52
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0xc38], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0xc34], al
add ecx, 1
adc edx, 0
jne 0x10039968
cmp ecx, 4
jb 0x10039950
push 0x10087360
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x51
lea edi, [esi + 0xc34]
mov ecx, edi
call fcn.100684e0
mov ecx, edi
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100399a6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xd0]
call fcn.1006ef20
mov byte [ebp - 4], 0x53
movaps xmm0, xmmword [0x10097840]
mov eax, dword [esi + 0x2194]
mov byte [ebp - 0x68], 0xd7
movups xmmword [ebp - 0x88], xmm0
movaps xmm0, xmmword [0x10097a00]
movups xmmword [ebp - 0x78], xmm0
test al, 1
jne 0x10039a3c
or eax, 1
mov dword [esi + 0x2194], eax
mov byte [ebp - 4], 0x54
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x454d], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x88]
mov byte [ecx + esi + 0x452c], al
add ecx, 1
adc edx, 0
jne 0x10039a2b
cmp ecx, 0x21
jb 0x10039a10
push 0x100873b0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x53
lea edi, [esi + 0x452c]
mov ecx, edi
call fcn.10068540
mov ecx, edi
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039a70
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xa0]
call fcn.1006ef20
push 0x100a5c78
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x5c]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x56
push ecx
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0xb8]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0xb8]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x58
movaps xmm0, xmmword [0x10097860]
mov eax, dword [esi + 0x1468]
mov dword [ebp - 0x30], 0x4f54b8b4
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10039b49
or eax, 1
mov dword [esi + 0x1468], eax
mov byte [ebp - 4], 0x59
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov byte [esi + 0x4004], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x40]
mov byte [ecx + esi + 0x3ff0], al
add ecx, 1
adc edx, 0
jne 0x10039b38
cmp ecx, 0x14
jb 0x10039b20
push 0x10087400
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x58
lea edi, [esi + 0x3ff0]
mov ecx, edi
call fcn.100685a0
sub esp, 0x18
mov ecx, edi
mov edx, esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039b71
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x5d
call dword [eax]
mov byte [ebp - 4], 0x5c
mov edx, dword [ebp - 0xa4]
cmp edx, 0x10
jb 0x10039bcf
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039bc5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10039cbc
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x5b
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
cmp edx, 0x10
jb 0x10039c22
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039c18
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10039cbc
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x5a
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
cmp edx, 0x10
jb 0x10039c6e
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039c64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10039cbc
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
cmp edx, 0x10
jb 0x10039ccc
mov ecx, dword [ebp - 0xd0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039cc2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10039cc2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x1003a191
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1ae0]
mov dword [ebp - 0x18], 0x6b33eb3d
mov dword [ebp - 0x14], 0x711e2cfd
push 0x100a9060
test al, 1
jne 0x10039d7c
or eax, 1
mov dword [esi + 0x1ae0], eax
mov dword [ebp - 4], 0x5e
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x13ac], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x13a4], al
add ecx, 1
adc edx, 0
jne 0x10039d68
cmp ecx, 8
jb 0x10039d50
push 0x100871d0
call fcn.10072137
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x13a4]
mov ecx, edi
call fcn.10068300
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x14], esp
lea ebx, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039da7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1006ef20
mov dword [ebp - 4], 0x5f
mov eax, dword [esi + 0x3a88]
mov dword [ebp - 0x28], 0x1b7af473
test al, 1
jne 0x10039e29
or eax, 1
mov dword [esi + 0x3a88], eax
mov byte [ebp - 4], 0x60
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x2fc], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x2f8], al
add ecx, 1
adc edx, 0
jne 0x10039e18
cmp ecx, 4
jb 0x10039e00
push 0x10087220
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x5f
lea edi, [esi + 0x2f8]
mov ecx, edi
call fcn.10068360
mov ecx, edi
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039e56
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb8]
call fcn.1006ef20
mov byte [ebp - 4], 0x61
movaps xmm0, xmmword [0x10096d80]
mov eax, dword [esi + 0x2310]
mov byte [ebp - 0x44], 0x55
movups xmmword [ebp - 0x64], xmm0
movaps xmm0, xmmword [0x10096b30]
movups xmmword [ebp - 0x54], xmm0
test al, 1
jne 0x10039ee9
or eax, 1
mov dword [esi + 0x2310], eax
mov byte [ebp - 4], 0x62
xorps xmm0, xmm0
movlpd qword [ebp - 0x24], xmm0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov byte [esi + 0x1985], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x64]
mov byte [esi + ecx + 0x1964], al
add ecx, 1
adc edx, 0
jne 0x10039ed8
cmp ecx, 0x21
jb 0x10039ec0
push 0x10087270
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x61
lea edi, [esi + 0x1964]
mov ecx, edi
call fcn.100683c0
mov ecx, edi
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039f16
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xe8]
call fcn.1006ef20
push 0x100a5e48
lea edx, [ebp - 0xe8]
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x80]
call fcn.1006f0c0
add esp, 4
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x64
push ecx
push eax
push dword [ebp - 0x14]
lea ecx, [ebp - 0x100]
call fcn.10070780
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x20], esp
lea edx, [ebp - 0x100]
push 0x100a5ea8
call fcn.1006f0c0
add esp, 4
mov byte [ebp - 4], 0x66
movaps xmm0, xmmword [0x10096dd0]
mov eax, dword [esi + 0x31d0]
mov dword [ebp - 0x30], 0x1b2af036
movups xmmword [ebp - 0x40], xmm0
test al, 1
jne 0x10039fea
or eax, 1
mov dword [esi + 0x31d0], eax
mov byte [ebp - 4], 0x67
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c], xmm0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
mov byte [esi + 0x4800], 1
mov al, byte [ebp + ecx - 0x40]
mov byte [esi + ecx + 0x47ec], al
add ecx, 1
adc edx, 0
jne 0x10039fd9
cmp ecx, 0x14
jb 0x10039fc1
push 0x100872c0
call fcn.10072137
add esp, 4
mov byte [ebp - 4], 0x66
lea esi, [esi + 0x47ec]
mov ecx, esi
call fcn.10068420
sub esp, 0x18
mov ecx, esi
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov byte [edx], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003a012
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.1006ef20
mov ecx, dword [0x100abb10]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x6b
call dword [eax]
mov byte [ebp - 4], 0x6a
mov edx, dword [ebp - 0xec]
cmp edx, 0x10
jb 0x1003a070
mov ecx, dword [ebp - 0x100]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003a066
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003a15d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x69
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0xf
mov byte [ebp - 0x100], 0
cmp edx, 0x10
jb 0x1003a0c3
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003a0b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003a15d
push edx
push ecx
call fcn.10072080
add esp, 8
mov byte [ebp - 4], 0x68
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x1003a10f
mov ecx, dword [ebp - 0xe8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003a105
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003a15d
push edx
push ecx
call fcn.10072080
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
cmp edx, 0x10
jb 0x1003a16d
mov ecx, dword [ebp - 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003a163
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1003a163
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10072080
add esp, 8
mov ecx, dword [0x100a7ebc]
mov edx, 0x100a5e60
cmp dword [0x100a5e74], 0x10
push 0x100a9060
cmovae edx, dword [0x100a5e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10071759
mov esp, ebp
pop ebp
ret