Function at 0x10043740
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1007c1eb
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x100a600c]
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 [0x100a7804]
push 0x100aa080
push 0
push 0
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x18], 0xe9a4f25b
mov eax, dword [esi + 0x382c]
test al, 1
jne 0x100437ec
or eax, 1
mov dword [esi + 0x382c], 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 + 0x133c], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x1338], al
add ecx, 1
adc edx, 0
jne 0x100437d8
cmp ecx, 4
jb 0x100437c0
push 0x1008c1f0
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1338]
mov ecx, edi
call fcn.10066e70
mov ecx, edi
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10043810
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x80]
call fcn.10070610
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x2bb0]
mov dword [ebp - 0x38], 0x80e9f852
mov dword [ebp - 0x34], 0x3c1a199e
mov dword [ebp - 0x30], 0x8ca6fb0d
mov word [ebp - 0x2c], 0x6f8c
test al, 1
jne 0x1004389a
or eax, 1
mov dword [esi + 0x2bb0], 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 + 0x363e], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [esi + ecx + 0x3630], al
add ecx, 1
adc edx, 0
jne 0x10043889
cmp ecx, 0xe
jb 0x10043871
push 0x1008c240
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 1
lea edi, [esi + 0x3630]
mov ecx, edi
call fcn.10066ed0
mov ecx, edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100438c0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.10070610
push 0x100a6a88
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 4
push ecx
push eax
push dword [ebp - 0x15]
lea ecx, [ebp - 0x68]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x68]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 6
mov eax, dword [esi + 0x1118]
mov dword [ebp - 0x38], 0x85f8f616
mov dword [ebp - 0x34], 0x634e0dd0
mov dword [ebp - 0x30], 0x8ab7eb18
mov word [ebp - 0x2c], 0x2de
mov byte [ebp - 0x2a], 0x2f
test al, 1
jne 0x10043999
or eax, 1
mov dword [esi + 0x1118], 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 + 0x3f53], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [esi + ecx + 0x3f44], al
add ecx, 1
adc edx, 0
jne 0x10043988
cmp ecx, 0xf
jb 0x10043970
push 0x1008c290
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 6
lea edi, [esi + 0x3f44]
mov ecx, edi
call fcn.10066f30
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 0x100439c1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 5
call dword [eax + 4]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x54]
cmp edx, 0x10
jb 0x10043a1a
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043a10
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043af8
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x10043a6a
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043a60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043af8
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x10043ab9
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043aaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043af8
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
cmp edx, 0x10
jb 0x10043b08
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043afe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10043afe
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x23e8]
mov dword [ebp - 0x18], 0xb15eb433
push 0x100aa080
push 0
push 0
test al, 1
jne 0x10043bac
or eax, 1
mov dword [esi + 0x23e8], 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 + 0x6e8], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x6e4], al
add ecx, 1
adc edx, 0
jne 0x10043b98
cmp ecx, 4
jb 0x10043b80
push 0x1008c100
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x6e4]
mov ecx, edi
call fcn.10066d50
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10043bd0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
mov dword [ebp - 4], 9
mov eax, dword [esi + 0x41f8]
mov dword [ebp - 0x38], 0xd813be3a
mov dword [ebp - 0x34], 0x18dc4be8
mov dword [ebp - 0x30], 0xd45cbd65
mov word [ebp - 0x2c], 0x3dfa
test al, 1
jne 0x10043c5a
or eax, 1
mov dword [esi + 0x41f8], 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 + 0x25fa], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x25ec], al
add ecx, 1
adc edx, 0
jne 0x10043c49
cmp ecx, 0xe
jb 0x10043c31
push 0x1008c150
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 9
lea edi, [esi + 0x25ec]
mov ecx, edi
call fcn.10066db0
mov ecx, edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10043c80
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.10070610
push 0x100a6c78
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
push ecx
push eax
push dword [ebp - 0x2d]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x5bc]
mov dword [ebp - 0x20], 0xdd02b07e
mov dword [ebp - 0x1c], 0x47885fa6
mov dword [ebp - 0x18], 0xd24dad70
mov word [ebp - 0x14], 0x50a8
mov byte [ebp - 0x12], 0xe9
test al, 1
jne 0x10043d59
or eax, 1
mov dword [esi + 0x5bc], 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 + 0x334f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x3340], al
add ecx, 1
adc edx, 0
jne 0x10043d48
cmp ecx, 0xf
jb 0x10043d30
push 0x1008c1a0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0xe
lea edi, [esi + 0x3340]
mov ecx, edi
call fcn.10066e10
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 0x10043d81
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0xd
call dword [eax + 4]
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x10043dda
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043dd0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043eb8
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x10043e2a
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043e20
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043eb8
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x10043e79
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043e6f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043eb8
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
cmp edx, 0x10
jb 0x10043ec8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043ebe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10043ebe
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x4378]
mov dword [ebp - 0x18], 0x73ce52b9
push 0x100aa080
push 0
push 0
test al, 1
jne 0x10043f6c
or eax, 1
mov dword [esi + 0x4378], 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 + 0x4b6c], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x4b68], al
add ecx, 1
adc edx, 0
jne 0x10043f58
cmp ecx, 4
jb 0x10043f40
push 0x1008c010
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x4b68]
mov ecx, edi
call fcn.10066c30
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10043f90
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
mov dword [ebp - 4], 0x11
mov eax, dword [esi + 0x31e4]
mov dword [ebp - 0x38], 0x1a8358b0
mov dword [ebp - 0x34], 0x564aaf74
mov dword [ebp - 0x30], 0x16cc5bef
mov word [ebp - 0x2c], 0xd966
test al, 1
jne 0x1004401a
or eax, 1
mov dword [esi + 0x31e4], 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 + 0x16d2], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x16c4], al
add ecx, 1
adc edx, 0
jne 0x10044009
cmp ecx, 0xe
jb 0x10043ff1
push 0x1008c060
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x11
lea edi, [esi + 0x16c4]
mov ecx, edi
call fcn.10066c90
mov ecx, edi
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044040
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.10070610
push 0x100a6e48
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x14
push ecx
push eax
push dword [ebp - 0x2d]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x16
mov eax, dword [esi + 0x2dfc]
mov dword [ebp - 0x20], 0x1f9256f4
mov dword [ebp - 0x1c], 0x91ebb3a
mov dword [ebp - 0x18], 0x10dd4bfa
mov word [ebp - 0x14], 0xb434
mov byte [ebp - 0x12], 0x7f
test al, 1
jne 0x10044119
or eax, 1
mov dword [esi + 0x2dfc], 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 + 0x4907], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x48f8], al
add ecx, 1
adc edx, 0
jne 0x10044108
cmp ecx, 0xf
jb 0x100440f0
push 0x1008c0b0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x16
lea edi, [esi + 0x48f8]
mov ecx, edi
call fcn.10066cf0
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 0x10044141
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x15
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x1004419a
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044190
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044278
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x100441ea
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100441e0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044278
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x10044239
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004422f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044278
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
cmp edx, 0x10
jb 0x10044288
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004427e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004427e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
mov ecx, 0x100aa080
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100442c0
sub ecx, edx
cmp ecx, 0x20
jae 0x100442d7
cmp ecx, 1
ja 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x95c]
mov dword [ebp - 0x34], 0x599f1731
mov dword [ebp - 0x30], 0x98129f9c
mov byte [ebp - 0x2c], 0x59
push 0x100aa080
test al, 1
jne 0x1004435c
or eax, 1
mov dword [esi + 0x95c], 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 + 0x1589], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [ecx + esi + 0x1580], al
add ecx, 1
adc edx, 0
jne 0x10044348
cmp ecx, 9
jb 0x10044330
push 0x1008bed0
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1580]
mov ecx, edi
call fcn.10066ab0
sub esp, 0x18
mov ecx, edi
mov edx, esp
mov dword [ebp - 0x30], 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 0x10044387
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov dword [ebp - 4], 0x19
mov eax, dword [esi + 0x2440]
mov dword [ebp - 0x18], 0x29d6087f
test al, 1
jne 0x10044409
or eax, 1
mov dword [esi + 0x2440], 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 + 0x4524], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x4520], al
add ecx, 1
adc edx, 0
jne 0x100443f8
cmp ecx, 4
jb 0x100443e0
push 0x1008bf20
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x19
lea edi, [esi + 0x4520]
mov ecx, edi
call fcn.10066b10
mov ecx, edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044436
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10070610
mov byte [ebp - 4], 0x1b
mov eax, dword [esi + 0x12f0]
mov dword [ebp - 0x20], 0x409b0276
mov dword [ebp - 0x1c], 0x9808d3c0
mov dword [ebp - 0x18], 0x4cd40129
mov word [ebp - 0x14], 0xa5d2
test al, 1
jne 0x100444c9
or eax, 1
mov dword [esi + 0x12f0], 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 + 0x478e], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x4780], al
add ecx, 1
adc edx, 0
jne 0x100444b8
cmp ecx, 0xe
jb 0x100444a0
push 0x1008bf70
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x1b
lea edi, [esi + 0x4780]
mov ecx, edi
call fcn.10066b70
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100444f0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
push 0x100a6a88
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x1e
push ecx
push eax
push dword [ebp - 0x2d]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x20
mov eax, dword [esi + 0x3104]
mov dword [ebp - 0x48], 0x458a0c32
mov dword [ebp - 0x44], 0xc75cc78e
mov dword [ebp - 0x40], 0x4ac5113c
mov word [ebp - 0x3c], 0xc880
mov byte [ebp - 0x3a], 0x3d
test al, 1
jne 0x100445c9
or eax, 1
mov dword [esi + 0x3104], 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 + 0x2f27], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x2f18], al
add ecx, 1
adc edx, 0
jne 0x100445b8
cmp ecx, 0xf
jb 0x100445a0
push 0x1008bfc0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x20
lea edi, [esi + 0x2f18]
mov ecx, edi
call fcn.10066bd0
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 0x100445f1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x25
call dword [eax]
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x10044649
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004463f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004472d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x10044699
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004468f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004472d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x100446e8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100446de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004472d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x1004473d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044733
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10044733
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x2fdc]
mov dword [ebp - 0x34], 0x758ddf55
mov dword [ebp - 0x30], 0x2e3eb79a
mov byte [ebp - 0x2c], 0x3d
push 0x100aa080
test al, 1
jne 0x100447ec
or eax, 1
mov dword [esi + 0x2fdc], 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 + 0x228d], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [esi + ecx + 0x2284], al
add ecx, 1
adc edx, 0
jne 0x100447d8
cmp ecx, 9
jb 0x100447c0
push 0x1008bd90
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2284]
mov ecx, edi
call fcn.10066930
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 0x10044817
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov dword [ebp - 4], 0x27
mov eax, dword [esi + 0x493c]
mov dword [ebp - 0x18], 0x5c4c01b
test al, 1
jne 0x10044899
or eax, 1
mov dword [esi + 0x493c], eax
mov byte [ebp - 4], 0x28
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x1720], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x171c], al
add ecx, 1
adc edx, 0
jne 0x10044888
cmp ecx, 4
jb 0x10044870
push 0x1008bde0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x27
lea edi, [esi + 0x171c]
mov ecx, edi
call fcn.10066990
mov ecx, edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100448c6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10070610
mov byte [ebp - 4], 0x29
mov eax, dword [esi + 0x4744]
mov dword [ebp - 0x20], 0x6c89ca12
mov dword [ebp - 0x1c], 0x2e24fbc6
mov dword [ebp - 0x18], 0x60c6c94d
mov word [ebp - 0x14], 0x8dd4
test al, 1
jne 0x10044959
or eax, 1
mov dword [esi + 0x4744], eax
mov byte [ebp - 4], 0x2a
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x238a], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x237c], al
add ecx, 1
adc edx, 0
jne 0x10044948
cmp ecx, 0xe
jb 0x10044930
push 0x1008be30
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x29
lea edi, [esi + 0x237c]
mov ecx, edi
call fcn.100669f0
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044980
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
push 0x100a6c78
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x2c
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x2e
mov eax, dword [esi + 0x2544]
mov dword [ebp - 0x48], 0x6998c456
mov dword [ebp - 0x44], 0x7170ef88
mov dword [ebp - 0x40], 0x66d7d958
mov word [ebp - 0x3c], 0xe086
mov byte [ebp - 0x3a], 0x11
test al, 1
jne 0x10044a59
or eax, 1
mov dword [esi + 0x2544], eax
mov byte [ebp - 4], 0x2f
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 0x2257], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x2248], al
add ecx, 1
adc edx, 0
jne 0x10044a48
cmp ecx, 0xf
jb 0x10044a30
push 0x1008be80
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x2e
lea edi, [esi + 0x2248]
mov ecx, edi
call fcn.10066a50
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 0x10044a81
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x33
call dword [eax]
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x10044ad9
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044acf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044bbd
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x31
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x10044b29
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044b1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044bbd
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x30
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x10044b78
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044b6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044bbd
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x10044bcd
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044bc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10044bc3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x20f0]
mov dword [ebp - 0x34], 0x339505eb
mov dword [ebp - 0x30], 0x3608b5e8
mov byte [ebp - 0x2c], 0x83
push 0x100aa080
test al, 1
jne 0x10044c7c
or eax, 1
mov dword [esi + 0x20f0], 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 + 0x3485], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [esi + ecx + 0x347c], al
add ecx, 1
adc edx, 0
jne 0x10044c68
cmp ecx, 9
jb 0x10044c50
push 0x1008bc50
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x347c]
mov ecx, edi
call fcn.100667b0
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 0x10044ca7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov dword [ebp - 4], 0x35
mov eax, dword [esi + 0xfa0]
mov dword [ebp - 0x18], 0x43dc1aa5
test al, 1
jne 0x10044d29
or eax, 1
mov dword [esi + 0xfa0], eax
mov byte [ebp - 4], 0x36
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x46e8], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x46e4], al
add ecx, 1
adc edx, 0
jne 0x10044d18
cmp ecx, 4
jb 0x10044d00
push 0x1008bca0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x35
lea edi, [esi + 0x46e4]
mov ecx, edi
call fcn.10066810
mov ecx, edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044d56
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10070610
mov byte [ebp - 4], 0x37
mov eax, dword [esi + 0x3438]
mov dword [ebp - 0x20], 0x2a9110ac
mov dword [ebp - 0x1c], 0x3612f9b4
mov dword [ebp - 0x18], 0x26de13f3
mov word [ebp - 0x14], 0x8fa6
test al, 1
jne 0x10044de9
or eax, 1
mov dword [esi + 0x3438], eax
mov byte [ebp - 4], 0x38
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x4bce], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x4bc0], al
add ecx, 1
adc edx, 0
jne 0x10044dd8
cmp ecx, 0xe
jb 0x10044dc0
push 0x1008bcf0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x37
lea edi, [esi + 0x4bc0]
mov ecx, edi
call fcn.10066870
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044e10
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
push 0x100a6e48
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x3a
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x3c
mov eax, dword [esi + 0x3b90]
mov dword [ebp - 0x48], 0x2f801ee8
mov dword [ebp - 0x44], 0x6946edfa
mov dword [ebp - 0x40], 0x20cf03e6
mov word [ebp - 0x3c], 0xe2f4
mov byte [ebp - 0x3a], 0x27
test al, 1
jne 0x10044ee9
or eax, 1
mov dword [esi + 0x3b90], eax
mov byte [ebp - 4], 0x3d
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 0x375b], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x374c], al
add ecx, 1
adc edx, 0
jne 0x10044ed8
cmp ecx, 0xf
jb 0x10044ec0
push 0x1008bd40
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x3c
lea edi, [esi + 0x374c]
mov ecx, edi
call fcn.100668d0
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 0x10044f11
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x41
call dword [eax]
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x10044f69
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044f5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004504d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x3f
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x10044fb9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044faf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004504d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x3e
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x10045008
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044ffe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004504d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x1004505d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045053
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045053
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
mov ecx, 0x100aa080
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045091
sub ecx, edx
cmp ecx, 0x20
jae 0x100450a8
cmp ecx, 1
ja 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x3bf4]
mov dword [ebp - 0x28], 0xf963217d
mov dword [ebp - 0x24], 0x7b68cc3f
push 0x100aa080
test al, 1
jne 0x1004512c
or eax, 1
mov dword [esi + 0x3bf4], eax
mov dword [ebp - 4], 0x42
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x172c], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x1724], al
add ecx, 1
adc edx, 0
jne 0x10045118
cmp ecx, 8
jb 0x10045100
push 0x1008bb10
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1724]
mov ecx, edi
call fcn.10066630
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 0x10045157
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov dword [ebp - 4], 0x43
mov eax, dword [esi + 0xff4]
mov dword [ebp - 0x18], 0x892a3e33
test al, 1
jne 0x100451d9
or eax, 1
mov dword [esi + 0xff4], eax
mov byte [ebp - 4], 0x44
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0xb5c], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0xb58], al
add ecx, 1
adc edx, 0
jne 0x100451c8
cmp ecx, 4
jb 0x100451b0
push 0x1008bb60
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x43
lea edi, [esi + 0xb58]
mov ecx, edi
call fcn.10066690
mov ecx, edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045206
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10070610
mov byte [ebp - 4], 0x45
mov eax, dword [esi + 0x2880]
mov dword [ebp - 0x20], 0xe067343a
mov dword [ebp - 0x1c], 0x5472952a
mov dword [ebp - 0x18], 0xec283765
mov word [ebp - 0x14], 0xe338
test al, 1
jne 0x10045299
or eax, 1
mov dword [esi + 0x2880], eax
mov byte [ebp - 4], 0x46
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x171a], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x170c], al
add ecx, 1
adc edx, 0
jne 0x10045288
cmp ecx, 0xe
jb 0x10045270
push 0x1008bbb0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x45
lea edi, [esi + 0x170c]
mov ecx, edi
call fcn.100666f0
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100452c0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
push 0x100a6a88
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x48
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x4a
mov eax, dword [esi + 0x35c4]
mov dword [ebp - 0x48], 0xe5763a7e
mov dword [ebp - 0x44], 0xb268164
mov dword [ebp - 0x40], 0xea392770
mov word [ebp - 0x3c], 0x8e6a
mov byte [ebp - 0x3a], 0x47
test al, 1
jne 0x10045399
or eax, 1
mov dword [esi + 0x35c4], eax
mov byte [ebp - 4], 0x4b
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 0x485b], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x484c], al
add ecx, 1
adc edx, 0
jne 0x10045388
cmp ecx, 0xf
jb 0x10045370
push 0x1008bc00
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x4a
lea edi, [esi + 0x484c]
mov ecx, edi
call fcn.10066750
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 0x100453c1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x4f
call dword [eax]
mov byte [ebp - 4], 0x4e
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x10045419
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004540f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100454fd
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x4d
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x10045469
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004545f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100454fd
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x4c
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x100454b8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100454ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100454fd
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x1004550d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045503
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045503
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x30fc]
mov dword [ebp - 0x28], 0xcf6d7f1f
mov dword [ebp - 0x24], 0xcf86123d
push 0x100aa080
test al, 1
jne 0x100455bc
or eax, 1
mov dword [esi + 0x30fc], eax
mov dword [ebp - 4], 0x50
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x3ea8], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0x3ea0], al
add ecx, 1
adc edx, 0
jne 0x100455a8
cmp ecx, 8
jb 0x10045590
push 0x1008b9d0
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x3ea0]
mov ecx, edi
call fcn.100664b0
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 0x100455e7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov dword [ebp - 4], 0x51
mov eax, dword [esi + 0x27d8]
mov dword [ebp - 0x18], 0xbf246051
test al, 1
jne 0x10045669
or eax, 1
mov dword [esi + 0x27d8], eax
mov byte [ebp - 4], 0x52
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x23c4], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x23c0], al
add ecx, 1
adc edx, 0
jne 0x10045658
cmp ecx, 4
jb 0x10045640
push 0x1008ba20
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x51
lea edi, [esi + 0x23c0]
mov ecx, edi
call fcn.10066510
mov ecx, edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045696
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10070610
mov byte [ebp - 4], 0x53
mov eax, dword [esi + 0x3c20]
mov dword [ebp - 0x20], 0xd6696a58
mov dword [ebp - 0x1c], 0xe09c4b28
mov dword [ebp - 0x18], 0xda266907
mov word [ebp - 0x14], 0x3d3a
test al, 1
jne 0x10045729
or eax, 1
mov dword [esi + 0x3c20], eax
mov byte [ebp - 4], 0x54
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x17e], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x170], al
add ecx, 1
adc edx, 0
jne 0x10045718
cmp ecx, 0xe
jb 0x10045700
push 0x1008ba70
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x53
lea edi, [esi + 0x170]
mov ecx, edi
call fcn.10066570
mov ecx, edi
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045750
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10070610
push 0x100a6c78
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x98]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x56
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0x80]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x58
mov eax, dword [esi + 0x30f8]
mov dword [ebp - 0x48], 0xd378641c
mov dword [ebp - 0x44], 0xbfc85f66
mov dword [ebp - 0x40], 0xdc377912
mov word [ebp - 0x3c], 0x5068
mov byte [ebp - 0x3a], 0xa9
test al, 1
jne 0x10045829
or eax, 1
mov dword [esi + 0x30f8], eax
mov byte [ebp - 4], 0x59
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 0x3153], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x3144], al
add ecx, 1
adc edx, 0
jne 0x10045818
cmp ecx, 0xf
jb 0x10045800
push 0x1008bac0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x58
lea edi, [esi + 0x3144]
mov ecx, edi
call fcn.100665d0
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 0x10045851
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x5d
call dword [eax]
mov byte [ebp - 4], 0x5c
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x100458a9
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004589f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004598d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x5b
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
cmp edx, 0x10
jb 0x100458f9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100458ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004598d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x5a
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
cmp edx, 0x10
jb 0x10045948
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004593e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004598d
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
cmp edx, 0x10
jb 0x1004599d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045993
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045993
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x10045e69
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x3154]
mov dword [ebp - 0x28], 0xb7536153
mov dword [ebp - 0x24], 0x93ba46e3
push 0x100aa080
test al, 1
jne 0x10045a4c
or eax, 1
mov dword [esi + 0x3154], eax
mov dword [ebp - 4], 0x5e
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x1540], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x1538], al
add ecx, 1
adc edx, 0
jne 0x10045a38
cmp ecx, 8
jb 0x10045a20
push 0x1008b890
call fcn.100738a7
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1538]
mov ecx, edi
call fcn.10066330
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 0x10045a77
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10070610
mov dword [ebp - 4], 0x5f
mov eax, dword [esi + 0x4a0]
mov dword [ebp - 0x18], 0xc71a7e1d
test al, 1
jne 0x10045af9
or eax, 1
mov dword [esi + 0x4a0], eax
mov byte [ebp - 4], 0x60
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x27e0], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x27dc], al
add ecx, 1
adc edx, 0
jne 0x10045ae8
cmp ecx, 4
jb 0x10045ad0
push 0x1008b8e0
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x5f
lea edi, [esi + 0x27dc]
mov ecx, edi
call fcn.10066390
mov ecx, edi
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045b20
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x80]
call fcn.10070610
mov byte [ebp - 4], 0x61
mov eax, dword [esi + 0x2c84]
mov dword [ebp - 0x20], 0xae577414
mov dword [ebp - 0x1c], 0xbca01ff6
mov dword [ebp - 0x18], 0xa218774b
mov word [ebp - 0x14], 0x69e4
test al, 1
jne 0x10045ba9
or eax, 1
mov dword [esi + 0x2c84], eax
mov byte [ebp - 4], 0x62
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov byte [esi + 0x2696], 1
nop
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x2688], al
add ecx, 1
adc edx, 0
jne 0x10045b98
cmp ecx, 0xe
jb 0x10045b80
push 0x1008b930
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x61
lea edi, [esi + 0x2688]
mov ecx, edi
call fcn.100663f0
mov ecx, edi
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10045bd6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10070610
push 0x100a6e48
lea edx, [ebp - 0xb0]
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xe0]
call fcn.100707b0
add esp, 4
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x64
push ecx
push eax
push dword [ebp - 0x24]
lea ecx, [ebp - 0xc8]
call fcn.10071ef0
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0xc8]
push 0x100a6ea8
call fcn.100707b0
add esp, 4
mov byte [ebp - 4], 0x66
mov eax, dword [esi + 0x2cfc]
mov dword [ebp - 0x48], 0xab467a50
mov dword [ebp - 0x44], 0xe3f40bb8
mov dword [ebp - 0x40], 0xa409675e
mov word [ebp - 0x3c], 0x4b6
mov byte [ebp - 0x3a], 0x95
test al, 1
jne 0x10045cb9
or eax, 1
mov dword [esi + 0x2cfc], eax
mov byte [ebp - 4], 0x67
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov byte [esi + 0x2943], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x2934], al
add ecx, 1
adc edx, 0
jne 0x10045ca8
cmp ecx, 0xf
jb 0x10045c90
push 0x1008b980
call fcn.100738a7
add esp, 4
mov byte [ebp - 4], 0x66
lea esi, [esi + 0x2934]
mov ecx, esi
call fcn.10066450
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 0x10045ce1
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10070610
mov ecx, dword [0x100acb38]
mov eax, dword [ecx]
mov byte [ebp - 4], 0x6b
call dword [eax]
mov byte [ebp - 4], 0x6a
mov edx, dword [ebp - 0xb4]
cmp edx, 0x10
jb 0x10045d3f
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045d35
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10045e35
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x69
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
cmp edx, 0x10
jb 0x10045d98
mov ecx, dword [ebp - 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045d8e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10045e35
push edx
push ecx
call fcn.100737f0
add esp, 8
mov byte [ebp - 4], 0x68
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
cmp edx, 0x10
jb 0x10045ded
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045de3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10045e35
push edx
push ecx
call fcn.100737f0
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
cmp edx, 0x10
jb 0x10045e45
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045e3b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045e3b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100737f0
add esp, 8
mov ecx, dword [0x100a8edc]
mov edx, 0x100a6e60
cmp dword [0x100a6e74], 0x10
push 0x100aa080
cmovae edx, dword [0x100a6e60]
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.10072ec9
mov esp, ebp
pop ebp
ret