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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10080f7b
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x100ab00c]
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 [0x100ac85c]
push 0x100af8b0
push 0
push 0
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x18], 0x33cc406f
mov eax, dword [esi + 0x3514]
test al, 1
jne 0x10043a2c
or eax, 1
mov dword [esi + 0x3514], 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 + 0x2674], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x2670], al
add ecx, 1
adc edx, 0
jne 0x10043a18
cmp ecx, 4
jb 0x10043a00
push 0x10090ed0
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2670]
mov ecx, edi
call fcn.1006bc40
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 0x10043a50
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x80]
call fcn.10075560
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x4248]
mov dword [ebp - 0x38], 0x5a814a66
mov dword [ebp - 0x34], 0x440c555e
mov dword [ebp - 0x30], 0x56ce4939
mov word [ebp - 0x2c], 0x234c
test al, 1
jne 0x10043ada
or eax, 1
mov dword [esi + 0x4248], 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 + 0x2a52], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [esi + ecx + 0x2a44], al
add ecx, 1
adc edx, 0
jne 0x10043ac9
cmp ecx, 0xe
jb 0x10043ab1
push 0x10090f20
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 1
lea edi, [esi + 0x2a44]
mov ecx, edi
call fcn.1006bca0
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 0x10043b00
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.10075560
push 0x100aba88
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x68]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 6
mov eax, dword [esi + 0x3420]
mov dword [ebp - 0x38], 0x5f904422
mov dword [ebp - 0x34], 0x1b584110
mov dword [ebp - 0x30], 0x50df592c
mov word [ebp - 0x2c], 0x4e1e
mov byte [ebp - 0x2a], 0x39
test al, 1
jne 0x10043bd9
or eax, 1
mov dword [esi + 0x3420], 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 + 0x83b], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [esi + ecx + 0x82c], al
add ecx, 1
adc edx, 0
jne 0x10043bc8
cmp ecx, 0xf
jb 0x10043bb0
push 0x10090f70
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 6
lea edi, [esi + 0x82c]
mov ecx, edi
call fcn.1006bd00
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 0x10043c01
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x10043c5a
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043c50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043d38
push edx
push ecx
call fcn.100783a7
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 0x10043caa
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043ca0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043d38
push edx
push ecx
call fcn.100783a7
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 0x10043cf9
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043cef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10043d38
push edx
push ecx
call fcn.100783a7
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 0x10043d48
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10043d3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10043d3e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1eec]
mov dword [ebp - 0x18], 0xa73ea0d1
push 0x100af8b0
push 0
push 0
test al, 1
jne 0x10043dec
or eax, 1
mov dword [esi + 0x1eec], 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 + 0x446c], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x4468], al
add ecx, 1
adc edx, 0
jne 0x10043dd8
cmp ecx, 4
jb 0x10043dc0
push 0x10090de0
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x4468]
mov ecx, edi
call fcn.1006bb20
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 0x10043e10
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
mov dword [ebp - 4], 9
mov eax, dword [esi + 0x1e8]
mov dword [ebp - 0x38], 0xce73aad8
mov dword [ebp - 0x34], 0xe0dc11ee
mov dword [ebp - 0x30], 0xc23ca987
mov word [ebp - 0x2c], 0x67fc
test al, 1
jne 0x10043e9a
or eax, 1
mov dword [esi + 0x1e8], 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 + 0x862], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x854], al
add ecx, 1
adc edx, 0
jne 0x10043e89
cmp ecx, 0xe
jb 0x10043e71
push 0x10090e30
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 9
lea edi, [esi + 0x854]
mov ecx, edi
call fcn.1006bb80
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 0x10043ec0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.10075560
push 0x100abc78
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x3a0c]
mov dword [ebp - 0x20], 0xcb62a49c
mov dword [ebp - 0x1c], 0xbf8805a0
mov dword [ebp - 0x18], 0xc42db992
mov word [ebp - 0x14], 0xaae
mov byte [ebp - 0x12], 0xe9
test al, 1
jne 0x10043f99
or eax, 1
mov dword [esi + 0x3a0c], 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 + 0x14d3], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x14c4], al
add ecx, 1
adc edx, 0
jne 0x10043f88
cmp ecx, 0xf
jb 0x10043f70
push 0x10090e80
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0xe
lea edi, [esi + 0x14c4]
mov ecx, edi
call fcn.1006bbe0
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 0x10043fc1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x1004401a
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044010
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100440f8
push edx
push ecx
call fcn.100783a7
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 0x1004406a
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044060
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100440f8
push edx
push ecx
call fcn.100783a7
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 0x100440b9
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100440af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100440f8
push edx
push ecx
call fcn.100783a7
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 0x10044108
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100440fe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100440fe
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x2e8c]
mov dword [ebp - 0x18], 0xbfee929f
push 0x100af8b0
push 0
push 0
test al, 1
jne 0x100441ac
or eax, 1
mov dword [esi + 0x2e8c], 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 + 0x4454], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x4450], al
add ecx, 1
adc edx, 0
jne 0x10044198
cmp ecx, 4
jb 0x10044180
push 0x10090cf0
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x4450]
mov ecx, edi
call fcn.1006ba00
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 0x100441d0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
mov dword [ebp - 4], 0x11
mov eax, dword [esi + 0x1b90]
mov dword [ebp - 0x38], 0xd6a39896
mov dword [ebp - 0x34], 0x1a48813c
mov dword [ebp - 0x30], 0xdaec9bc9
mov word [ebp - 0x2c], 0xf72e
test al, 1
jne 0x1004425a
or eax, 1
mov dword [esi + 0x1b90], 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 + 0x3d2], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x3c4], al
add ecx, 1
adc edx, 0
jne 0x10044249
cmp ecx, 0xe
jb 0x10044231
push 0x10090d40
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x11
lea edi, [esi + 0x3c4]
mov ecx, edi
call fcn.1006ba60
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 0x10044280
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.10075560
push 0x100abe60
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x16
mov eax, dword [esi + 0x1090]
mov dword [ebp - 0x20], 0xd3b296d2
mov dword [ebp - 0x1c], 0x451c9572
mov dword [ebp - 0x18], 0xdcfd8bdc
mov word [ebp - 0x14], 0x9a7c
mov byte [ebp - 0x12], 0x7d
test al, 1
jne 0x10044359
or eax, 1
mov dword [esi + 0x1090], 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 + 0x2a6f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x2a60], al
add ecx, 1
adc edx, 0
jne 0x10044348
cmp ecx, 0xf
jb 0x10044330
push 0x10090d90
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x16
lea edi, [esi + 0x2a60]
mov ecx, edi
call fcn.1006bac0
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 0x10044381
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x100443da
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100443d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100444b8
push edx
push ecx
call fcn.100783a7
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 0x1004442a
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044420
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100444b8
push edx
push ecx
call fcn.100783a7
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 0x10044479
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004446f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100444b8
push edx
push ecx
call fcn.100783a7
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 0x100444c8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100444be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100444be
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
mov ecx, 0x100af8b0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10044500
sub ecx, edx
cmp ecx, 0x20
jae 0x10044517
cmp ecx, 1
ja 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x2c70]
mov dword [ebp - 0x34], 0xa5076bad
mov dword [ebp - 0x30], 0x4e8cbfe0
mov byte [ebp - 0x2c], 0xc5
push 0x100af8b0
test al, 1
jne 0x1004459c
or eax, 1
mov dword [esi + 0x2c70], 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 + 0x195d], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [ecx + esi + 0x1954], al
add ecx, 1
adc edx, 0
jne 0x10044588
cmp ecx, 9
jb 0x10044570
push 0x10090bb0
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1954]
mov ecx, edi
call fcn.1006b880
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 0x100445c7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov dword [ebp - 4], 0x19
mov eax, dword [esi + 0x33fc]
mov dword [ebp - 0x18], 0xd54e74e3
test al, 1
jne 0x10044649
or eax, 1
mov dword [esi + 0x33fc], 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 + 0x3104], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x3100], al
add ecx, 1
adc edx, 0
jne 0x10044638
cmp ecx, 4
jb 0x10044620
push 0x10090c00
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x19
lea edi, [esi + 0x3100]
mov ecx, edi
call fcn.1006b8e0
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 0x10044676
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10075560
mov byte [ebp - 4], 0x1b
mov eax, dword [esi + 0x1ccc]
mov dword [ebp - 0x20], 0xbc037eea
mov dword [ebp - 0x1c], 0x4e96f3bc
mov dword [ebp - 0x18], 0xb04c7db5
mov word [ebp - 0x14], 0x85ae
test al, 1
jne 0x10044709
or eax, 1
mov dword [esi + 0x1ccc], 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 + 0x2b26], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x2b18], al
add ecx, 1
adc edx, 0
jne 0x100446f8
cmp ecx, 0xe
jb 0x100446e0
push 0x10090c50
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x1b
lea edi, [esi + 0x2b18]
mov ecx, edi
call fcn.1006b940
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 0x10044730
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
push 0x100aba88
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x20
mov eax, dword [esi + 0x2ad0]
mov dword [ebp - 0x48], 0xb91270ae
mov dword [ebp - 0x44], 0x11c2e7f2
mov dword [ebp - 0x40], 0xb65d6da0
mov word [ebp - 0x3c], 0xe8fc
mov byte [ebp - 0x3a], 0xa3
test al, 1
jne 0x10044809
or eax, 1
mov dword [esi + 0x2ad0], 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 + 0xe4f], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0xe40], al
add ecx, 1
adc edx, 0
jne 0x100447f8
cmp ecx, 0xf
jb 0x100447e0
push 0x10090ca0
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x20
lea edi, [esi + 0xe40]
mov ecx, edi
call fcn.1006b9a0
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 0x10044831
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x10044889
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004487f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004496d
push edx
push ecx
call fcn.100783a7
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 0x100448d9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100448cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004496d
push edx
push ecx
call fcn.100783a7
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 0x10044928
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004491e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004496d
push edx
push ecx
call fcn.100783a7
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 0x1004497d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044973
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10044973
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x3668]
mov dword [ebp - 0x34], 0x2be73fd3
mov dword [ebp - 0x30], 0xa4d0ff10
mov byte [ebp - 0x2c], 0xbb
push 0x100af8b0
test al, 1
jne 0x10044a2c
or eax, 1
mov dword [esi + 0x3668], 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 + 0x799], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [esi + ecx + 0x790], al
add ecx, 1
adc edx, 0
jne 0x10044a18
cmp ecx, 9
jb 0x10044a00
push 0x10090a70
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x790]
mov ecx, edi
call fcn.1006b700
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 0x10044a57
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov dword [ebp - 4], 0x27
mov eax, dword [esi + 0x3974]
mov dword [ebp - 0x18], 0x5bae209d
test al, 1
jne 0x10044ad9
or eax, 1
mov dword [esi + 0x3974], 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 + 0x16f0], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x16ec], al
add ecx, 1
adc edx, 0
jne 0x10044ac8
cmp ecx, 4
jb 0x10044ab0
push 0x10090ac0
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x27
lea edi, [esi + 0x16ec]
mov ecx, edi
call fcn.1006b760
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 0x10044b06
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10075560
mov byte [ebp - 4], 0x29
mov eax, dword [esi + 0xc78]
mov dword [ebp - 0x20], 0x32e32a94
mov dword [ebp - 0x1c], 0xa4cab34c
mov dword [ebp - 0x18], 0x3eac29cb
mov word [ebp - 0x14], 0xc55e
test al, 1
jne 0x10044b99
or eax, 1
mov dword [esi + 0xc78], 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 + 0x402a], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x401c], al
add ecx, 1
adc edx, 0
jne 0x10044b88
cmp ecx, 0xe
jb 0x10044b70
push 0x10090b10
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x29
lea edi, [esi + 0x401c]
mov ecx, edi
call fcn.1006b7c0
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 0x10044bc0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
push 0x100abc78
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x2e
mov eax, dword [esi + 0x1244]
mov dword [ebp - 0x48], 0x37f224d0
mov dword [ebp - 0x44], 0xfb9ea702
mov dword [ebp - 0x40], 0x38bd39de
mov word [ebp - 0x3c], 0xa80c
mov byte [ebp - 0x3a], 0xff
test al, 1
jne 0x10044c99
or eax, 1
mov dword [esi + 0x1244], 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 + 0x167b], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x166c], al
add ecx, 1
adc edx, 0
jne 0x10044c88
cmp ecx, 0xf
jb 0x10044c70
push 0x10090b60
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x2e
lea edi, [esi + 0x166c]
mov ecx, edi
call fcn.1006b820
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 0x10044cc1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x10044d19
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044d0f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044dfd
push edx
push ecx
call fcn.100783a7
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 0x10044d69
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044d5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044dfd
push edx
push ecx
call fcn.100783a7
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 0x10044db8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044dae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10044dfd
push edx
push ecx
call fcn.100783a7
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 0x10044e0d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10044e03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10044e03
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x3ca4]
mov dword [ebp - 0x34], 0x570b23db
mov dword [ebp - 0x30], 0x82766700
mov byte [ebp - 0x2c], 0xb3
push 0x100af8b0
test al, 1
jne 0x10044ebc
or eax, 1
mov dword [esi + 0x3ca4], 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 + 0x245], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [esi + ecx + 0x23c], al
add ecx, 1
adc edx, 0
jne 0x10044ea8
cmp ecx, 9
jb 0x10044e90
push 0x10090930
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x23c]
mov ecx, edi
call fcn.1006b580
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 0x10044ee7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov dword [ebp - 4], 0x35
mov eax, dword [esi + 0x1cbc]
mov dword [ebp - 0x18], 0x27423c95
test al, 1
jne 0x10044f69
or eax, 1
mov dword [esi + 0x1cbc], 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 + 0x2adc], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x2ad8], al
add ecx, 1
adc edx, 0
jne 0x10044f58
cmp ecx, 4
jb 0x10044f40
push 0x10090980
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x35
lea edi, [esi + 0x2ad8]
mov ecx, edi
call fcn.1006b5e0
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 0x10044f96
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10075560
mov byte [ebp - 4], 0x37
mov eax, dword [esi + 0x25e4]
mov dword [ebp - 0x20], 0x4e0f369c
mov dword [ebp - 0x1c], 0x826c2b5c
mov dword [ebp - 0x18], 0x424035c3
mov word [ebp - 0x14], 0x5d4e
test al, 1
jne 0x10045029
or eax, 1
mov dword [esi + 0x25e4], 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 + 0x1be], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x1b0], al
add ecx, 1
adc edx, 0
jne 0x10045018
cmp ecx, 0xe
jb 0x10045000
push 0x100909d0
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x37
lea edi, [esi + 0x1b0]
mov ecx, edi
call fcn.1006b640
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 0x10045050
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
push 0x100abe60
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x3c
mov eax, dword [esi + 0x338]
mov dword [ebp - 0x48], 0x4b1e38d8
mov dword [ebp - 0x44], 0xdd383f12
mov dword [ebp - 0x40], 0x445125d6
mov word [ebp - 0x3c], 0x301c
mov byte [ebp - 0x3a], 0x59
test al, 1
jne 0x10045129
or eax, 1
mov dword [esi + 0x338], 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 + 0x3203], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x31f4], al
add ecx, 1
adc edx, 0
jne 0x10045118
cmp ecx, 0xf
jb 0x10045100
push 0x10090a20
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x3c
lea edi, [esi + 0x31f4]
mov ecx, edi
call fcn.1006b6a0
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 0x10045151
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x100451a9
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004519f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004528d
push edx
push ecx
call fcn.100783a7
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 0x100451f9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100451ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004528d
push edx
push ecx
call fcn.100783a7
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 0x10045248
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004523e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004528d
push edx
push ecx
call fcn.100783a7
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 0x1004529d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045293
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045293
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
mov ecx, 0x100af8b0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100452d1
sub ecx, edx
cmp ecx, 0x20
jae 0x100452e8
cmp ecx, 1
ja 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0xb8c]
mov dword [ebp - 0x28], 0xc9dfed4d
mov dword [ebp - 0x24], 0x692ee415
push 0x100af8b0
test al, 1
jne 0x1004536c
or eax, 1
mov dword [esi + 0xb8c], 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 + 0x12c], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x124], al
add ecx, 1
adc edx, 0
jne 0x10045358
cmp ecx, 8
jb 0x10045340
push 0x100907f0
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x124]
mov ecx, edi
call fcn.1006b400
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 0x10045397
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov dword [ebp - 4], 0x43
mov eax, dword [esi + 0x3cac]
mov dword [ebp - 0x18], 0xb996f203
test al, 1
jne 0x10045419
or eax, 1
mov dword [esi + 0x3cac], 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 + 0x42ac], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x42a8], al
add ecx, 1
adc edx, 0
jne 0x10045408
cmp ecx, 4
jb 0x100453f0
push 0x10090840
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x43
lea edi, [esi + 0x42a8]
mov ecx, edi
call fcn.1006b460
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 0x10045446
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10075560
mov byte [ebp - 4], 0x45
mov eax, dword [esi + 0x13b8]
mov dword [ebp - 0x20], 0xd0dbf80a
mov dword [ebp - 0x1c], 0x4634bd00
mov dword [ebp - 0x18], 0xdc94fb55
mov word [ebp - 0x14], 0xcb12
test al, 1
jne 0x100454d9
or eax, 1
mov dword [esi + 0x13b8], 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 + 0x19d6], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x19c8], al
add ecx, 1
adc edx, 0
jne 0x100454c8
cmp ecx, 0xe
jb 0x100454b0
push 0x10090890
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x45
lea edi, [esi + 0x19c8]
mov ecx, edi
call fcn.1006b4c0
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 0x10045500
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
push 0x100aba88
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x4a
mov eax, dword [esi + 0x8f0]
mov dword [ebp - 0x48], 0xd5caf64e
mov dword [ebp - 0x44], 0x1960a94e
mov dword [ebp - 0x40], 0xda85eb40
mov word [ebp - 0x3c], 0xa640
mov byte [ebp - 0x3a], 1
test al, 1
jne 0x100455d9
or eax, 1
mov dword [esi + 0x8f0], 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 + 0x3a77], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x3a68], al
add ecx, 1
adc edx, 0
jne 0x100455c8
cmp ecx, 0xf
jb 0x100455b0
push 0x100908e0
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x4a
lea edi, [esi + 0x3a68]
mov ecx, edi
call fcn.1006b520
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 0x10045601
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x10045659
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004564f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004573d
push edx
push ecx
call fcn.100783a7
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 0x100456a9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004569f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004573d
push edx
push ecx
call fcn.100783a7
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 0x100456f8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100456ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1004573d
push edx
push ecx
call fcn.100783a7
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 0x1004574d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045743
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045743
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x27d8]
mov dword [ebp - 0x28], 0x7f49454d
mov dword [ebp - 0x24], 0x2f02045b
push 0x100af8b0
test al, 1
jne 0x100457fc
or eax, 1
mov dword [esi + 0x27d8], 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 + 0x35b8], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0x35b0], al
add ecx, 1
adc edx, 0
jne 0x100457e8
cmp ecx, 8
jb 0x100457d0
push 0x100906b0
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x35b0]
mov ecx, edi
call fcn.1006b280
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 0x10045827
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov dword [ebp - 4], 0x51
mov eax, dword [esi + 0xfa8]
mov dword [ebp - 0x18], 0xf005a03
test al, 1
jne 0x100458a9
or eax, 1
mov dword [esi + 0xfa8], 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 + 0x1054], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x1050], al
add ecx, 1
adc edx, 0
jne 0x10045898
cmp ecx, 4
jb 0x10045880
push 0x10090700
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x51
lea edi, [esi + 0x1050]
mov ecx, edi
call fcn.1006b2e0
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 0x100458d6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10075560
mov byte [ebp - 4], 0x53
mov eax, dword [esi + 0x38e8]
mov dword [ebp - 0x20], 0x664d500a
mov dword [ebp - 0x1c], 0x185d4e
mov dword [ebp - 0x18], 0x6a025355
mov word [ebp - 0x14], 0x2b5c
test al, 1
jne 0x10045969
or eax, 1
mov dword [esi + 0x38e8], 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 + 0x119e], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x1190], al
add ecx, 1
adc edx, 0
jne 0x10045958
cmp ecx, 0xe
jb 0x10045940
push 0x10090750
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x53
lea edi, [esi + 0x1190]
mov ecx, edi
call fcn.1006b340
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 0x10045990
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.10075560
push 0x100abc78
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x98]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x58
mov eax, dword [esi + 0x280c]
mov dword [ebp - 0x48], 0x635c5e4e
mov dword [ebp - 0x44], 0x5f4c4900
mov dword [ebp - 0x40], 0x6c134340
mov word [ebp - 0x3c], 0x460e
mov byte [ebp - 0x3a], 0x2d
test al, 1
jne 0x10045a69
or eax, 1
mov dword [esi + 0x280c], 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 + 0x34e3], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x34d4], al
add ecx, 1
adc edx, 0
jne 0x10045a58
cmp ecx, 0xf
jb 0x10045a40
push 0x100907a0
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x58
lea edi, [esi + 0x34d4]
mov ecx, edi
call fcn.1006b3a0
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 0x10045a91
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x10045ae9
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045adf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10045bcd
push edx
push ecx
call fcn.100783a7
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 0x10045b39
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045b2f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10045bcd
push edx
push ecx
call fcn.100783a7
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 0x10045b88
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045b7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10045bcd
push edx
push ecx
call fcn.100783a7
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 0x10045bdd
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045bd3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10045bd3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100460a9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x40c0]
mov dword [ebp - 0x28], 0x9b6f65ad
mov dword [ebp - 0x24], 0x152aae77
push 0x100af8b0
test al, 1
jne 0x10045c8c
or eax, 1
mov dword [esi + 0x40c0], 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 + 0x3e5c], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x3e54], al
add ecx, 1
adc edx, 0
jne 0x10045c78
cmp ecx, 8
jb 0x10045c60
push 0x10090570
call fcn.1007845e
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x3e54]
mov ecx, edi
call fcn.1006b100
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 0x10045cb7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.10075560
mov dword [ebp - 4], 0x5f
mov eax, dword [esi + 0x1e14]
mov dword [ebp - 0x18], 0xeb267ae3
test al, 1
jne 0x10045d39
or eax, 1
mov dword [esi + 0x1e14], 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 + 0x4974], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x4970], al
add ecx, 1
adc edx, 0
jne 0x10045d28
cmp ecx, 4
jb 0x10045d10
push 0x100905c0
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x5f
lea edi, [esi + 0x4970]
mov ecx, edi
call fcn.1006b160
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 0x10045d60
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x80]
call fcn.10075560
mov byte [ebp - 4], 0x61
mov eax, dword [esi + 0x3ca8]
mov dword [ebp - 0x20], 0x826b70ea
mov dword [ebp - 0x1c], 0x3a30f762
mov dword [ebp - 0x18], 0x8e2473b5
mov word [ebp - 0x14], 0x8170
test al, 1
jne 0x10045de9
or eax, 1
mov dword [esi + 0x3ca8], 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 + 0x274a], 1
nop
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x273c], al
add ecx, 1
adc edx, 0
jne 0x10045dd8
cmp ecx, 0xe
jb 0x10045dc0
push 0x10090610
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x61
lea edi, [esi + 0x273c]
mov ecx, edi
call fcn.1006b1c0
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 0x10045e16
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.10075560
push 0x100abe60
lea edx, [ebp - 0xb0]
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xe0]
call fcn.100756b0
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.10076b80
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0xc8]
push 0x100abec0
call fcn.100756b0
add esp, 4
mov byte [ebp - 4], 0x66
mov eax, dword [esi + 0x10fc]
mov dword [ebp - 0x48], 0x877a7eae
mov dword [ebp - 0x44], 0x6564e32c
mov dword [ebp - 0x40], 0x883563a0
mov word [ebp - 0x3c], 0xec22
mov byte [ebp - 0x3a], 5
test al, 1
jne 0x10045ef9
or eax, 1
mov dword [esi + 0x10fc], 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 + 0x13cf], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x13c0], al
add ecx, 1
adc edx, 0
jne 0x10045ee8
cmp ecx, 0xf
jb 0x10045ed0
push 0x10090660
call fcn.1007845e
add esp, 4
mov byte [ebp - 4], 0x66
lea esi, [esi + 0x13c0]
mov ecx, esi
call fcn.1006b220
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 0x10045f21
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10075560
mov ecx, dword [0x100b2d74]
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 0x10045f7f
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045f75
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10046075
push edx
push ecx
call fcn.100783a7
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 0x10045fd8
mov ecx, dword [ebp - 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10045fce
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10046075
push edx
push ecx
call fcn.100783a7
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 0x1004602d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10046023
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10046075
push edx
push ecx
call fcn.100783a7
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 0x10046085
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1004607b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004607b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100783a7
add esp, 8
mov ecx, dword [0x100ae6fc]
mov edx, 0x100abe78
cmp dword [0x100abe8c], 0x10
push 0x100af8b0
cmovae edx, dword [0x100abe78]
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.10077b59
mov esp, ebp
pop ebp
ret