Function at 0x1002e120
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006c444
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x1009500c]
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 [0x10096e34]
push 0x100984f0
push 0
push 0
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x30], 0x5b34763d
mov eax, dword [esi + 0x3df8]
test al, 1
jne 0x1002e1cc
or eax, 1
mov dword [esi + 0x3df8], eax
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0xcc], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [esi + ecx + 0xc8], al
add ecx, 1
adc edx, 0
jne 0x1002e1b8
cmp ecx, 4
jb 0x1002e1a0
push 0x10079a10
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0xc8]
mov ecx, edi
call fcn.10060240
mov ecx, edi
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002e1f0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x78]
call fcn.100643a0
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x39dc]
mov dword [ebp - 0x20], 0x32797c34
mov dword [ebp - 0x1c], 0xf4001b76
mov dword [ebp - 0x18], 0x3e367f6b
mov word [ebp - 0x14], 0x6d64
test al, 1
jne 0x1002e27a
or eax, 1
mov dword [esi + 0x39dc], eax
mov byte [ebp - 4], 2
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x3f92], 1
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x3f84], al
add ecx, 1
adc edx, 0
jne 0x1002e269
cmp ecx, 0xe
jb 0x1002e251
push 0x10079a60
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 1
lea edi, [esi + 0x3f84]
mov ecx, edi
call fcn.100602a0
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002e2a0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096078
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 4
push ecx
push eax
push dword [ebp - 0x2f]
lea ecx, [ebp - 0x90]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x90]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 6
mov eax, dword [esi + 0x3398]
mov dword [ebp - 0x48], 0x2b606b6d
mov dword [ebp - 0x44], 0xa8570234
mov dword [ebp - 0x40], 0x36667e35
mov byte [ebp - 0x3c], 0x59
test al, 1
jne 0x1002e379
or eax, 1
mov dword [esi + 0x3398], eax
mov byte [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0xe25], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0xe18], al
add ecx, 1
adc edx, 0
jne 0x1002e368
cmp ecx, 0xd
jb 0x1002e350
push 0x10079ab0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 6
lea edi, [esi + 0xe18]
mov ecx, edi
call fcn.10060300
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 0x1002e3a1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 5
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x7c]
cmp edx, 0x10
jb 0x1002e3fd
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e3f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4de
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
cmp edx, 0x10
jb 0x1002e450
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e446
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4de
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002e49f
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e495
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e4de
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002e4ee
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e4e4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002e4e4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x112c]
mov dword [ebp - 0x30], 0x7d8cb4ef
push 0x100984f0
push 0
push 0
test al, 1
jne 0x1002e59c
or eax, 1
mov dword [esi + 0x112c], eax
mov dword [ebp - 4], 8
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x235c], 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [esi + ecx + 0x2358], al
add ecx, 1
adc edx, 0
jne 0x1002e588
cmp ecx, 4
jb 0x1002e570
push 0x10079920
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2358]
mov ecx, edi
call fcn.10060120
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002e5c3
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov dword [ebp - 4], 9
mov eax, dword [esi + 0xd40]
mov dword [ebp - 0x20], 0x14c1bee6
mov dword [ebp - 0x1c], 0xb6be7f80
mov dword [ebp - 0x18], 0x188ebdb9
mov word [ebp - 0x14], 0x992
test al, 1
jne 0x1002e659
or eax, 1
mov dword [esi + 0xd40], eax
mov byte [ebp - 4], 0xa
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x1ee6], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x1ed8], al
add ecx, 1
adc edx, 0
jne 0x1002e648
cmp ecx, 0xe
jb 0x1002e630
push 0x10079970
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 9
lea edi, [esi + 0x1ed8]
mov ecx, edi
call fcn.10060180
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002e680
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096268
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0xc
push ecx
push eax
push dword [ebp - 0x3f]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x3684]
mov dword [ebp - 0x38], 0xdd8a9bf
mov dword [ebp - 0x34], 0xeae966c2
mov dword [ebp - 0x30], 0x10debce7
mov byte [ebp - 0x2c], 0xaf
test al, 1
jne 0x1002e759
or eax, 1
mov dword [esi + 0x3684], eax
mov byte [ebp - 4], 0xf
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x2199], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x218c], al
add ecx, 1
adc edx, 0
jne 0x1002e748
cmp ecx, 0xd
jb 0x1002e730
push 0x100799c0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0xe
lea edi, [esi + 0x218c]
mov ecx, edi
call fcn.100601e0
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 0x1002e781
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0xd
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x1002e7da
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e7d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e8bb
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x1002e82a
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e820
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e8bb
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002e879
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e86f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002e8bb
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002e8cb
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002e8c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002e8c1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x718]
mov dword [ebp - 0x30], 0x219ae41d
push 0x100984f0
push 0
push 0
test al, 1
jne 0x1002e96d
or eax, 1
mov dword [esi + 0x718], eax
mov dword [ebp - 4], 0x10
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x24d4], 1
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + esi + 0x24d0], al
add ecx, 1
adc edx, 0
jne 0x1002e959
cmp ecx, 4
jb 0x1002e941
push 0x10079830
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x24d0]
mov ecx, edi
call fcn.10060000
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002e994
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov dword [ebp - 4], 0x11
mov eax, dword [esi + 0x29c4]
mov dword [ebp - 0x20], 0x48d7ee14
mov dword [ebp - 0x1c], 0xd08ee7c0
mov dword [ebp - 0x18], 0x4498ed4b
mov word [ebp - 0x14], 0x91d2
test al, 1
jne 0x1002ea29
or eax, 1
mov dword [esi + 0x29c4], eax
mov byte [ebp - 4], 0x12
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x2ef6], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x2ee8], al
add ecx, 1
adc edx, 0
jne 0x1002ea18
cmp ecx, 0xe
jb 0x1002ea00
push 0x10079880
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x11
lea edi, [esi + 0x2ee8]
mov ecx, edi
call fcn.10060060
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002ea50
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096438
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x14
push ecx
push eax
push dword [ebp - 0x3f]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x16
mov eax, dword [esi + 0x17f4]
mov dword [ebp - 0x38], 0x51cef94d
mov dword [ebp - 0x34], 0x8cd9fe82
mov dword [ebp - 0x30], 0x4cc8ec15
mov byte [ebp - 0x2c], 0xef
test al, 1
jne 0x1002eb29
or eax, 1
mov dword [esi + 0x17f4], eax
mov byte [ebp - 4], 0x17
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x2d79], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x2d6c], al
add ecx, 1
adc edx, 0
jne 0x1002eb18
cmp ecx, 0xd
jb 0x1002eb00
push 0x100798d0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x16
lea edi, [esi + 0x2d6c]
mov ecx, edi
call fcn.100600c0
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 0x1002eb51
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x15
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x1002ebaa
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002eba0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ec8b
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x1002ebfa
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ebf0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ec8b
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002ec49
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ec3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002ec8b
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002ec9b
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002ec91
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002ec91
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
mov ecx, 0x100984f0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002ecd0
sub ecx, edx
cmp ecx, 0x20
jae 0x1002ece7
cmp ecx, 1
ja 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1ce8]
mov dword [ebp - 0x44], 0x3fbb8f3f
mov dword [ebp - 0x40], 0xfea85140
mov byte [ebp - 0x3c], 0x57
push 0x100984f0
test al, 1
jne 0x1002ed6c
or eax, 1
mov dword [esi + 0x1ce8], eax
mov dword [ebp - 4], 0x18
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x2e75], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x44]
mov byte [ecx + esi + 0x2e6c], al
add ecx, 1
adc edx, 0
jne 0x1002ed58
cmp ecx, 9
jb 0x1002ed40
push 0x100796f0
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2e6c]
mov ecx, edi
call fcn.1005fe80
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x40], 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 0x1002ed97
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov dword [ebp - 4], 0x19
mov eax, dword [esi + 0x71c]
mov dword [ebp - 0x30], 0x4ff29071
test al, 1
jne 0x1002ee19
or eax, 1
mov dword [esi + 0x71c], eax
mov byte [ebp - 4], 0x1a
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x336c], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + esi + 0x3368], al
add ecx, 1
adc edx, 0
jne 0x1002ee08
cmp ecx, 4
jb 0x1002edf0
push 0x10079740
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x19
lea edi, [esi + 0x3368]
mov ecx, edi
call fcn.1005fee0
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002ee40
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov byte [ebp - 4], 0x1b
mov eax, dword [esi + 0x998]
mov dword [ebp - 0x20], 0x26bf9a78
mov dword [ebp - 0x1c], 0xfeb41d1c
mov dword [ebp - 0x18], 0x2af09927
mov word [ebp - 0x14], 0x6b0e
test al, 1
jne 0x1002eeca
or eax, 1
mov dword [esi + 0x998], eax
mov byte [ebp - 4], 0x1c
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x3af2], 1
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x3ae4], al
add ecx, 1
adc edx, 0
jne 0x1002eeb9
cmp ecx, 0xe
jb 0x1002eea1
push 0x10079790
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x1b
lea edi, [esi + 0x3ae4]
mov ecx, edi
call fcn.1005ff40
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002eef0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096078
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x1e
push ecx
push eax
push dword [ebp - 0x3f]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x20
mov eax, dword [esi + 0x39c8]
mov dword [ebp - 0x20], 0x3fa68d21
mov dword [ebp - 0x1c], 0xa2e3045e
mov dword [ebp - 0x18], 0x22a09879
mov byte [ebp - 0x14], 0x33
test al, 1
jne 0x1002efc9
or eax, 1
mov dword [esi + 0x39c8], eax
mov byte [ebp - 4], 0x21
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x2c1d], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x2c10], al
add ecx, 1
adc edx, 0
jne 0x1002efb8
cmp ecx, 0xd
jb 0x1002efa0
push 0x100797e0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x20
lea edi, [esi + 0x2c10]
mov ecx, edi
call fcn.1005ffa0
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 0x1002eff1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x25
call dword [eax]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x1002f049
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f03f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f12a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x1002f099
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f08f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f12a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002f0e8
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f0de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f12a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002f13a
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f130
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002f130
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0xee4]
mov dword [ebp - 0x44], 0x13a16dfb
mov dword [ebp - 0x40], 0x9e6279f6
mov byte [ebp - 0x3c], 0x93
push 0x100984f0
test al, 1
jne 0x1002f1ec
or eax, 1
mov dword [esi + 0xee4], eax
mov dword [ebp - 4], 0x26
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x186d], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x44]
mov byte [ecx + esi + 0x1864], al
add ecx, 1
adc edx, 0
jne 0x1002f1d8
cmp ecx, 9
jb 0x1002f1c0
push 0x100795b0
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1864]
mov ecx, edi
call fcn.1005fd00
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x24], 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 0x1002f217
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov dword [ebp - 4], 0x27
mov eax, dword [esi + 0x21b0]
mov dword [ebp - 0x30], 0x63e872b5
test al, 1
jne 0x1002f299
or eax, 1
mov dword [esi + 0x21b0], eax
mov byte [ebp - 4], 0x28
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x211c], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [esi + ecx + 0x2118], al
add ecx, 1
adc edx, 0
jne 0x1002f288
cmp ecx, 4
jb 0x1002f270
push 0x10079600
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x27
lea edi, [esi + 0x2118]
mov ecx, edi
call fcn.1005fd60
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f2c0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov byte [ebp - 4], 0x29
mov eax, dword [esi + 0x1ce4]
mov dword [ebp - 0x20], 0xaa578bc
mov dword [ebp - 0x1c], 0x9e7e35aa
mov dword [ebp - 0x18], 0x6ea7be3
mov word [ebp - 0x14], 0x43b8
test al, 1
jne 0x1002f34a
or eax, 1
mov dword [esi + 0x1ce4], eax
mov byte [ebp - 4], 0x2a
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x35a], 1
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x34c], al
add ecx, 1
adc edx, 0
jne 0x1002f339
cmp ecx, 0xe
jb 0x1002f321
push 0x10079650
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x29
lea edi, [esi + 0x34c]
mov ecx, edi
call fcn.1005fdc0
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f370
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096268
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x2c
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x2e
mov eax, dword [esi + 0x221c]
mov dword [ebp - 0x20], 0x13bc6fe5
mov dword [ebp - 0x1c], 0xc2292ce8
mov dword [ebp - 0x18], 0xeba7abd
mov byte [ebp - 0x14], 0x85
test al, 1
jne 0x1002f449
or eax, 1
mov dword [esi + 0x221c], eax
mov byte [ebp - 4], 0x2f
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x2031], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x2024], al
add ecx, 1
adc edx, 0
jne 0x1002f438
cmp ecx, 0xd
jb 0x1002f420
push 0x100796a0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x2e
lea edi, [esi + 0x2024]
mov ecx, edi
call fcn.1005fe20
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 0x1002f471
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x33
call dword [eax]
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x1002f4c9
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f4bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f5aa
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x1002f519
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f50f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f5aa
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002f568
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f55e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f5aa
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002f5ba
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f5b0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002f5b0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x69c]
mov dword [ebp - 0x44], 0x93cde7c5
mov dword [ebp - 0x40], 0x9cd0f588
mov byte [ebp - 0x3c], 0xad
push 0x100984f0
test al, 1
jne 0x1002f66c
or eax, 1
mov dword [esi + 0x69c], eax
mov dword [ebp - 4], 0x34
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov byte [esi + 0x1e1d], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x44]
mov byte [esi + ecx + 0x1e14], al
add ecx, 1
adc edx, 0
jne 0x1002f658
cmp ecx, 9
jb 0x1002f640
push 0x10079470
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1e14]
mov ecx, edi
call fcn.1005fb80
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x24], 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 0x1002f697
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov dword [ebp - 4], 0x35
mov eax, dword [esi + 0x1148]
mov dword [ebp - 0x30], 0xe384f88b
test al, 1
jne 0x1002f719
or eax, 1
mov dword [esi + 0x1148], eax
mov byte [ebp - 4], 0x36
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x3bc8], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [esi + ecx + 0x3bc4], al
add ecx, 1
adc edx, 0
jne 0x1002f708
cmp ecx, 4
jb 0x1002f6f0
push 0x100794c0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x35
lea edi, [esi + 0x3bc4]
mov ecx, edi
call fcn.1005fbe0
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f740
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov byte [ebp - 4], 0x37
mov eax, dword [esi + 0x628]
mov dword [ebp - 0x20], 0x8ac9f282
mov dword [ebp - 0x1c], 0x9cccb9d4
mov dword [ebp - 0x18], 0x8686f1dd
mov word [ebp - 0x14], 0xcfc6
test al, 1
jne 0x1002f7ca
or eax, 1
mov dword [esi + 0x628], eax
mov byte [ebp - 4], 0x38
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x2a62], 1
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x2a54], al
add ecx, 1
adc edx, 0
jne 0x1002f7b9
cmp ecx, 0xe
jb 0x1002f7a1
push 0x10079510
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x37
lea edi, [esi + 0x2a54]
mov ecx, edi
call fcn.1005fc40
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f7f0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096438
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x3a
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x3c
mov eax, dword [esi + 0x3dd0]
mov dword [ebp - 0x20], 0x93d0e5db
mov dword [ebp - 0x1c], 0xc09ba096
mov dword [ebp - 0x18], 0x8ed6f083
mov byte [ebp - 0x14], 0xfb
test al, 1
jne 0x1002f8c9
or eax, 1
mov dword [esi + 0x3dd0], eax
mov byte [ebp - 4], 0x3d
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x2729], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x271c], al
add ecx, 1
adc edx, 0
jne 0x1002f8b8
cmp ecx, 0xd
jb 0x1002f8a0
push 0x10079560
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x3c
lea edi, [esi + 0x271c]
mov ecx, edi
call fcn.1005fca0
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 0x1002f8f1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x41
call dword [eax]
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x1002f949
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f93f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fa2a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x3f
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x1002f999
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f98f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fa2a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002f9e8
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002f9de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002fa2a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002fa3a
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fa30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002fa30
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
mov ecx, 0x100984f0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002fa70
sub ecx, edx
cmp ecx, 0x20
jae 0x1002fa87
cmp ecx, 1
ja 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0xdb4]
mov dword [ebp - 0x28], 0x333121f7
mov dword [ebp - 0x24], 0xd12e6437
push 0x100984f0
test al, 1
jne 0x1002fb0c
or eax, 1
mov dword [esi + 0xdb4], eax
mov dword [ebp - 4], 0x42
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x2934], 1
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x292c], al
add ecx, 1
adc edx, 0
jne 0x1002faf8
cmp ecx, 8
jb 0x1002fae0
push 0x10079330
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x292c]
mov ecx, edi
call fcn.1005fa00
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x24], 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 0x1002fb37
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov dword [ebp - 4], 0x43
mov eax, dword [esi + 0x3ed0]
mov dword [ebp - 0x30], 0x43783eb9
test al, 1
jne 0x1002fbb9
or eax, 1
mov dword [esi + 0x3ed0], eax
mov byte [ebp - 4], 0x44
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x2900], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [esi + ecx + 0x28fc], al
add ecx, 1
adc edx, 0
jne 0x1002fba8
cmp ecx, 4
jb 0x1002fb90
push 0x10079380
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x43
lea edi, [esi + 0x28fc]
mov ecx, edi
call fcn.1005fa60
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002fbe0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov byte [ebp - 4], 0x45
mov eax, dword [esi + 0x3168]
mov dword [ebp - 0x20], 0x2a3534b0
mov dword [ebp - 0x1c], 0xfe323d22
mov dword [ebp - 0x18], 0x267a37ef
mov word [ebp - 0x14], 0x4b30
test al, 1
jne 0x1002fc6a
or eax, 1
mov dword [esi + 0x3168], eax
mov byte [ebp - 4], 0x46
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x3336], 1
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x3328], al
add ecx, 1
adc edx, 0
jne 0x1002fc59
cmp ecx, 0xe
jb 0x1002fc41
push 0x100793d0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x45
lea edi, [esi + 0x3328]
mov ecx, edi
call fcn.1005fac0
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002fc90
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096078
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x48
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x4a
mov eax, dword [esi + 0xb38]
mov dword [ebp - 0x20], 0x332c23e9
mov dword [ebp - 0x1c], 0xa2652460
mov dword [ebp - 0x18], 0x2e2a36b1
mov byte [ebp - 0x14], 0xd
test al, 1
jne 0x1002fd69
or eax, 1
mov dword [esi + 0xb38], eax
mov byte [ebp - 4], 0x4b
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x3ea5], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x3e98], al
add ecx, 1
adc edx, 0
jne 0x1002fd58
cmp ecx, 0xd
jb 0x1002fd40
push 0x10079420
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x4a
lea edi, [esi + 0x3e98]
mov ecx, edi
call fcn.1005fb20
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 0x1002fd91
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x4f
call dword [eax]
mov byte [ebp - 4], 0x4e
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x1002fde9
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fddf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002feca
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x4d
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x1002fe39
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fe2f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002feca
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x1002fe88
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fe7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002feca
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1002feda
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002fed0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002fed0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x32a8]
mov dword [ebp - 0x28], 0xf74b9ddd
mov dword [ebp - 0x24], 0xffb6ec99
push 0x100984f0
test al, 1
jne 0x1002ff8c
or eax, 1
mov dword [esi + 0x32a8], eax
mov dword [ebp - 4], 0x50
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0xa34], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0xa2c], al
add ecx, 1
adc edx, 0
jne 0x1002ff78
cmp ecx, 8
jb 0x1002ff60
push 0x100791f0
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0xa2c]
mov ecx, edi
call fcn.1005f880
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x24], 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 0x1002ffb7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov dword [ebp - 4], 0x51
mov eax, dword [esi + 0x3bf0]
mov dword [ebp - 0x30], 0x87028293
test al, 1
jne 0x10030039
or eax, 1
mov dword [esi + 0x3bf0], eax
mov byte [ebp - 4], 0x52
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x3438], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + esi + 0x3434], al
add ecx, 1
adc edx, 0
jne 0x10030028
cmp ecx, 4
jb 0x10030010
push 0x10079240
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x51
lea edi, [esi + 0x3434]
mov ecx, edi
call fcn.1005f8e0
mov ecx, edi
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030060
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x90]
call fcn.100643a0
mov byte [ebp - 4], 0x53
mov eax, dword [esi + 0x17f8]
mov dword [ebp - 0x20], 0xee4f889a
mov dword [ebp - 0x1c], 0xd0aab58c
mov dword [ebp - 0x18], 0xe2008bc5
mov word [ebp - 0x14], 0xc39e
test al, 1
jne 0x100300ea
or eax, 1
mov dword [esi + 0x17f8], eax
mov byte [ebp - 4], 0x54
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x52a], 1
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x51c], al
add ecx, 1
adc edx, 0
jne 0x100300d9
cmp ecx, 0xe
jb 0x100300c1
push 0x10079290
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x53
lea edi, [esi + 0x51c]
mov ecx, edi
call fcn.1005f940
mov ecx, edi
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030110
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x60]
call fcn.100643a0
push 0x10096268
lea edx, [ebp - 0x60]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0xa8]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x56
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x78]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0x78]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x58
mov eax, dword [esi + 0x27ec]
mov dword [ebp - 0x20], 0xf7569fc3
mov dword [ebp - 0x1c], 0x8cfdacce
mov dword [ebp - 0x18], 0xea508a9b
mov byte [ebp - 0x14], 0xa3
test al, 1
jne 0x100301e9
or eax, 1
mov dword [esi + 0x27ec], eax
mov byte [ebp - 4], 0x59
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x17cd], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x17c0], al
add ecx, 1
adc edx, 0
jne 0x100301d8
cmp ecx, 0xd
jb 0x100301c0
push 0x100792e0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x58
lea edi, [esi + 0x17c0]
mov ecx, edi
call fcn.1005f9a0
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 0x10030211
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x5d
call dword [eax]
mov byte [ebp - 4], 0x5c
mov edx, dword [ebp - 0x64]
cmp edx, 0x10
jb 0x10030269
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003025f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003034a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x5b
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
cmp edx, 0x10
jb 0x100302b9
mov ecx, dword [ebp - 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100302af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003034a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x5a
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp edx, 0x10
jb 0x10030308
mov ecx, dword [ebp - 0x60]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100302fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003034a
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp edx, 0x10
jb 0x1003035a
mov ecx, dword [ebp - 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10030350
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10030350
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10030829
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x20c0]
mov dword [ebp - 0x28], 0x1ab2dcb
mov dword [ebp - 0x24], 0x7b64e2eb
push 0x100984f0
test al, 1
jne 0x1003040c
or eax, 1
mov dword [esi + 0x20c0], eax
mov dword [ebp - 4], 0x5e
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x3ab0], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x3aa8], al
add ecx, 1
adc edx, 0
jne 0x100303f8
cmp ecx, 8
jb 0x100303e0
push 0x100790b0
call fcn.10067577
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x3aa8]
mov ecx, edi
call fcn.1005f700
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x24], 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 0x10030437
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.100643a0
mov dword [ebp - 4], 0x5f
mov eax, dword [esi + 0x3b00]
mov dword [ebp - 0x30], 0x71e23285
test al, 1
jne 0x100304b9
or eax, 1
mov dword [esi + 0x3b00], eax
mov byte [ebp - 4], 0x60
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x3768], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [esi + ecx + 0x3764], al
add ecx, 1
adc edx, 0
jne 0x100304a8
cmp ecx, 4
jb 0x10030490
push 0x10079100
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x5f
lea edi, [esi + 0x3764]
mov ecx, edi
call fcn.1005f760
mov ecx, edi
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100304e0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x78]
call fcn.100643a0
mov byte [ebp - 4], 0x61
mov eax, dword [esi + 0x2604]
mov dword [ebp - 0x20], 0x18af388c
mov dword [ebp - 0x1c], 0x5478bbfe
mov dword [ebp - 0x18], 0x14e03bd3
mov word [ebp - 0x14], 0xcdec
test al, 1
jne 0x10030569
or eax, 1
mov dword [esi + 0x2604], eax
mov byte [ebp - 4], 0x62
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov byte [esi + 0x279a], 1
nop
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x278c], al
add ecx, 1
adc edx, 0
jne 0x10030558
cmp ecx, 0xe
jb 0x10030540
push 0x10079150
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x61
lea edi, [esi + 0x278c]
mov ecx, edi
call fcn.1005f7c0
mov ecx, edi
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0xf
mov byte [ebp - 0xc0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10030596
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xc0]
call fcn.100643a0
push 0x10096438
lea edx, [ebp - 0xc0]
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xf0]
call fcn.10064540
add esp, 4
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x64
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0xd8]
call fcn.10065bc0
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x40], esp
lea edx, [ebp - 0xd8]
push 0x10096498
call fcn.10064540
add esp, 4
mov byte [ebp - 4], 0x66
mov eax, dword [esi + 0xdd0]
mov dword [ebp - 0x20], 0x1b62fd5
mov dword [ebp - 0x1c], 0x82fa2bc
mov dword [ebp - 0x18], 0x1cb03a8d
mov byte [ebp - 0x14], 0xd1
test al, 1
jne 0x10030679
or eax, 1
mov dword [esi + 0xdd0], eax
mov byte [ebp - 4], 0x67
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x3b21], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x3b14], al
add ecx, 1
adc edx, 0
jne 0x10030668
cmp ecx, 0xd
jb 0x10030650
push 0x100791a0
call fcn.10067577
add esp, 4
mov byte [ebp - 4], 0x66
lea esi, [esi + 0x3b14]
mov ecx, esi
call fcn.1005f820
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 0x100306a1
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.100643a0
mov ecx, dword [0x100997b8]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x6b
call dword [eax]
mov byte [ebp - 4], 0x6a
mov edx, dword [ebp - 0xc4]
cmp edx, 0x10
jb 0x100306ff
mov ecx, dword [ebp - 0xd8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100306f5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100307f5
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x69
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
cmp edx, 0x10
jb 0x10030758
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003074e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100307f5
push edx
push ecx
call fcn.100674c0
add esp, 8
mov byte [ebp - 4], 0x68
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp edx, 0x10
jb 0x100307ad
mov ecx, dword [ebp - 0xc0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100307a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100307f5
push edx
push ecx
call fcn.100674c0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0xf
mov byte [ebp - 0xc0], 0
cmp edx, 0x10
jb 0x10030805
mov ecx, dword [ebp - 0x78]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100307fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100307fb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100674c0
add esp, 8
mov ecx, dword [0x1009d9e0]
mov edx, 0x10096450
cmp dword [0x10096464], 0x10
push 0x100984f0
cmovae edx, dword [0x10096450]
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.10066b99
mov esp, ebp
pop ebp
ret