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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1006484b
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x1008700c]
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 [0x10087f0c]
push 0x1008e740
push 0
push 0
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x18], 0xc78ca685
mov eax, dword [esi + 0x2534]
test al, 1
jne 0x10036b4c
or eax, 1
mov dword [esi + 0x2534], 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 + 0x2ab0], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x2aac], al
add ecx, 1
adc edx, 0
jne 0x10036b38
cmp ecx, 4
jb 0x10036b20
push 0x10071aa0
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2aac]
mov ecx, edi
call fcn.10052660
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 0x10036b70
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x80]
call fcn.1005a6c0
mov dword [ebp - 4], 1
mov eax, dword [esi + 0x2908]
mov dword [ebp - 0x38], 0xaec1ac8c
mov dword [ebp - 0x34], 0x80c89712
mov dword [ebp - 0x30], 0xa28eafd3
mov word [ebp - 0x2c], 0xe100
test al, 1
jne 0x10036bfa
or eax, 1
mov dword [esi + 0x2908], 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 + 0x2ae2], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [esi + ecx + 0x2ad4], al
add ecx, 1
adc edx, 0
jne 0x10036be9
cmp ecx, 0xe
jb 0x10036bd1
push 0x10071af0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 1
lea edi, [esi + 0x2ad4]
mov ecx, edi
call fcn.100526c0
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 0x10036c20
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.1005a6c0
push 0x10087150
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x68]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 6
mov eax, dword [esi + 0x1fe8]
mov dword [ebp - 0x38], 0xabd0a2c8
mov dword [ebp - 0x34], 0xdf9c835c
mov dword [ebp - 0x30], 0xa49fbfc6
mov word [ebp - 0x2c], 0x8c52
mov byte [ebp - 0x2a], 0xfd
test al, 1
jne 0x10036cf9
or eax, 1
mov dword [esi + 0x1fe8], 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 + 0x1af3], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [esi + ecx + 0x1ae4], al
add ecx, 1
adc edx, 0
jne 0x10036ce8
cmp ecx, 0xf
jb 0x10036cd0
push 0x10071b40
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 6
lea edi, [esi + 0x1ae4]
mov ecx, edi
call fcn.10052720
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 0x10036d21
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x10036d7a
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036d70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036e58
push edx
push ecx
call fcn.1005d306
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 0x10036dca
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036dc0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036e58
push edx
push ecx
call fcn.1005d306
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 0x10036e19
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036e0f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10036e58
push edx
push ecx
call fcn.1005d306
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 0x10036e68
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10036e5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10036e5e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0xcf4]
mov dword [ebp - 0x18], 0xe1e25437
push 0x1008e740
push 0
push 0
test al, 1
jne 0x10036f0c
or eax, 1
mov dword [esi + 0xcf4], 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 + 0xd48], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0xd44], al
add ecx, 1
adc edx, 0
jne 0x10036ef8
cmp ecx, 4
jb 0x10036ee0
push 0x100719b0
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0xd44]
mov ecx, edi
call fcn.10052540
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 0x10036f30
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
mov dword [ebp - 4], 9
mov eax, dword [esi + 0xe28]
mov dword [ebp - 0x38], 0x88af5e3e
mov dword [ebp - 0x34], 0xce283506
mov dword [ebp - 0x30], 0x84e05d61
mov word [ebp - 0x2c], 0x4314
test al, 1
jne 0x10036fba
or eax, 1
mov dword [esi + 0xe28], 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 + 0xe92], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0xe84], al
add ecx, 1
adc edx, 0
jne 0x10036fa9
cmp ecx, 0xe
jb 0x10036f91
push 0x10071a00
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 9
lea edi, [esi + 0xe84]
mov ecx, edi
call fcn.100525a0
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 0x10036fe0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.1005a6c0
push 0x10087340
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0xe
mov eax, dword [esi + 0x32d0]
mov dword [ebp - 0x20], 0x8dbe507a
mov dword [ebp - 0x1c], 0x917c2148
mov dword [ebp - 0x18], 0x82f14d74
mov word [ebp - 0x14], 0x2e46
mov byte [ebp - 0x12], 0x1d
test al, 1
jne 0x100370b9
or eax, 1
mov dword [esi + 0x32d0], 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 + 0x3a2f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x3a20], al
add ecx, 1
adc edx, 0
jne 0x100370a8
cmp ecx, 0xf
jb 0x10037090
push 0x10071a50
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0xe
lea edi, [esi + 0x3a20]
mov ecx, edi
call fcn.10052600
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 0x100370e1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x1003713a
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037130
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037218
push edx
push ecx
call fcn.1005d306
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 0x1003718a
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037180
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037218
push edx
push ecx
call fcn.1005d306
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 0x100371d9
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100371cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037218
push edx
push ecx
call fcn.1005d306
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 0x10037228
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003721e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1003721e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x8d4]
mov dword [ebp - 0x18], 0x290084ab
push 0x1008e740
push 0
push 0
test al, 1
jne 0x100372cc
or eax, 1
mov dword [esi + 0x8d4], 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 + 0x16c8], 1
nop
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x16c4], al
add ecx, 1
adc edx, 0
jne 0x100372b8
cmp ecx, 4
jb 0x100372a0
push 0x100718c0
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x16c4]
mov ecx, edi
call fcn.10052420
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 0x100372f0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
mov dword [ebp - 4], 0x11
mov eax, dword [esi + 0x31c8]
mov dword [ebp - 0x38], 0x404d8ea2
mov dword [ebp - 0x34], 0x508483a0
mov dword [ebp - 0x30], 0x4c028dfd
mov word [ebp - 0x2c], 0xf5b2
test al, 1
jne 0x1003737a
or eax, 1
mov dword [esi + 0x31c8], 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 + 0x142a], 1
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + esi + 0x141c], al
add ecx, 1
adc edx, 0
jne 0x10037369
cmp ecx, 0xe
jb 0x10037351
push 0x10071910
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x11
lea edi, [esi + 0x141c]
mov ecx, edi
call fcn.10052480
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 0x100373a0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x50]
call fcn.1005a6c0
push 0x10087510
lea edx, [ebp - 0x50]
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x15
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x16
mov eax, dword [esi + 0x374c]
mov dword [ebp - 0x20], 0x455c80e6
mov dword [ebp - 0x1c], 0xfd097ee
mov dword [ebp - 0x18], 0x4a139de8
mov word [ebp - 0x14], 0x98e0
mov byte [ebp - 0x12], 0xb1
test al, 1
jne 0x10037479
or eax, 1
mov dword [esi + 0x374c], 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 + 0xa9f], 1
nop dword [eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0xa90], al
add ecx, 1
adc edx, 0
jne 0x10037468
cmp ecx, 0xf
jb 0x10037450
push 0x10071960
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x16
lea edi, [esi + 0xa90]
mov ecx, edi
call fcn.100524e0
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 0x100374a1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x100374fa
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100374f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100375d8
push edx
push ecx
call fcn.1005d306
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 0x1003754a
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037540
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100375d8
push edx
push ecx
call fcn.1005d306
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 0x10037599
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003758f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100375d8
push edx
push ecx
call fcn.1005d306
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 0x100375e8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100375de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100375de
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
mov ecx, 0x1008e740
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10037620
sub ecx, edx
cmp ecx, 0x20
jae 0x10037637
cmp ecx, 1
ja 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1438]
mov dword [ebp - 0x34], 0xa74377cf
mov dword [ebp - 0x30], 0x82dca112
mov byte [ebp - 0x2c], 0xa7
push 0x1008e740
test al, 1
jne 0x100376bc
or eax, 1
mov dword [esi + 0x1438], 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 + 0x1aa5], 1
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [ecx + esi + 0x1a9c], al
add ecx, 1
adc edx, 0
jne 0x100376a8
cmp ecx, 9
jb 0x10037690
push 0x10071780
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1a9c]
mov ecx, edi
call fcn.100522a0
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 0x100376e7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov dword [ebp - 4], 0x19
mov eax, dword [esi + 0x18d0]
mov dword [ebp - 0x18], 0xd70a6881
test al, 1
jne 0x10037769
or eax, 1
mov dword [esi + 0x18d0], 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 + 0x2b5c], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x2b58], al
add ecx, 1
adc edx, 0
jne 0x10037758
cmp ecx, 4
jb 0x10037740
push 0x100717d0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x19
lea edi, [esi + 0x2b58]
mov ecx, edi
call fcn.10052300
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 0x10037796
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.1005a6c0
mov byte [ebp - 4], 0x1b
mov eax, dword [esi + 0x20a0]
mov dword [ebp - 0x20], 0xbe476288
mov dword [ebp - 0x1c], 0x82c6ed4e
mov dword [ebp - 0x18], 0xb20861d7
mov word [ebp - 0x14], 0x9b5c
test al, 1
jne 0x10037829
or eax, 1
mov dword [esi + 0x20a0], 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 + 0xa6], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x98], al
add ecx, 1
adc edx, 0
jne 0x10037818
cmp ecx, 0xe
jb 0x10037800
push 0x10071820
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x1b
lea edi, [esi + 0x98]
mov ecx, edi
call fcn.10052360
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 0x10037850
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
push 0x10087150
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x1f
mov ecx, esp
mov dword [ebp - 0x18], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x20
mov eax, dword [esi + 0x2a1c]
mov dword [ebp - 0x48], 0xbb566ccc
mov dword [ebp - 0x44], 0xdd92f900
mov dword [ebp - 0x40], 0xb41971c2
mov word [ebp - 0x3c], 0xf60e
mov byte [ebp - 0x3a], 0xf3
test al, 1
jne 0x10037929
or eax, 1
mov dword [esi + 0x2a1c], 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 + 0x10eb], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x10dc], al
add ecx, 1
adc edx, 0
jne 0x10037918
cmp ecx, 0xf
jb 0x10037900
push 0x10071870
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x20
lea edi, [esi + 0x10dc]
mov ecx, edi
call fcn.100523c0
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 0x10037951
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x100379a9
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003799f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037a8d
push edx
push ecx
call fcn.1005d306
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 0x100379f9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100379ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037a8d
push edx
push ecx
call fcn.1005d306
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 0x10037a48
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037a3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037a8d
push edx
push ecx
call fcn.1005d306
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 0x10037a9d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037a93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10037a93
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x2e3c]
mov dword [ebp - 0x34], 0x334bafa7
mov dword [ebp - 0x30], 0xca0a6738
mov byte [ebp - 0x2c], 0xcf
push 0x1008e740
test al, 1
jne 0x10037b4c
or eax, 1
mov dword [esi + 0x2e3c], 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 + 0x25b5], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [esi + ecx + 0x25ac], al
add ecx, 1
adc edx, 0
jne 0x10037b38
cmp ecx, 9
jb 0x10037b20
push 0x10071640
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x25ac]
mov ecx, edi
call fcn.10052120
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 0x10037b77
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov dword [ebp - 4], 0x27
mov eax, dword [esi + 0x27c0]
mov dword [ebp - 0x18], 0x4302b0e9
test al, 1
jne 0x10037bf9
or eax, 1
mov dword [esi + 0x27c0], 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 + 0x112c], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x1128], al
add ecx, 1
adc edx, 0
jne 0x10037be8
cmp ecx, 4
jb 0x10037bd0
push 0x10071690
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x27
lea edi, [esi + 0x1128]
mov ecx, edi
call fcn.10052180
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 0x10037c26
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.1005a6c0
mov byte [ebp - 4], 0x29
mov eax, dword [esi + 0x10d8]
mov dword [ebp - 0x20], 0x2a4fbae0
mov dword [ebp - 0x1c], 0xca102b64
mov dword [ebp - 0x18], 0x2600b9bf
mov word [ebp - 0x14], 0x5d76
test al, 1
jne 0x10037cb9
or eax, 1
mov dword [esi + 0x10d8], 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 + 0xa2e], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0xa20], al
add ecx, 1
adc edx, 0
jne 0x10037ca8
cmp ecx, 0xe
jb 0x10037c90
push 0x100716e0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x29
lea edi, [esi + 0xa20]
mov ecx, edi
call fcn.100521e0
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 0x10037ce0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
push 0x10087340
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x2e
mov eax, dword [esi + 0x1ffc]
mov dword [ebp - 0x48], 0x2f5eb4a4
mov dword [ebp - 0x44], 0x95443f2a
mov dword [ebp - 0x40], 0x2011a9aa
mov word [ebp - 0x3c], 0x3024
mov byte [ebp - 0x3a], 0x25
test al, 1
jne 0x10037db9
or eax, 1
mov dword [esi + 0x1ffc], 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 + 0x388f], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x3880], al
add ecx, 1
adc edx, 0
jne 0x10037da8
cmp ecx, 0xf
jb 0x10037d90
push 0x10071730
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x2e
lea edi, [esi + 0x3880]
mov ecx, edi
call fcn.10052240
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 0x10037de1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x10037e39
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037e2f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037f1d
push edx
push ecx
call fcn.1005d306
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 0x10037e89
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037e7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037f1d
push edx
push ecx
call fcn.1005d306
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 0x10037ed8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037ece
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10037f1d
push edx
push ecx
call fcn.1005d306
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 0x10037f2d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10037f23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10037f23
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x1084]
mov dword [ebp - 0x34], 0x4719794d
mov dword [ebp - 0x30], 0xd040692e
mov byte [ebp - 0x2c], 0x25
push 0x1008e740
test al, 1
jne 0x10037fdc
or eax, 1
mov dword [esi + 0x1084], 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 + 0x2e49], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [esi + ecx + 0x2e40], al
add ecx, 1
adc edx, 0
jne 0x10037fc8
cmp ecx, 9
jb 0x10037fb0
push 0x10071500
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x2e40]
mov ecx, edi
call fcn.10051fa0
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 0x10038007
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov dword [ebp - 4], 0x35
mov eax, dword [esi + 0xda8]
mov dword [ebp - 0x18], 0x37506603
test al, 1
jne 0x10038089
or eax, 1
mov dword [esi + 0xda8], 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 + 0xe00], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0xdfc], al
add ecx, 1
adc edx, 0
jne 0x10038078
cmp ecx, 4
jb 0x10038060
push 0x10071550
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x35
lea edi, [esi + 0xdfc]
mov ecx, edi
call fcn.10052000
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 0x100380b6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.1005a6c0
mov byte [ebp - 4], 0x37
mov eax, dword [esi + 0x724]
mov dword [ebp - 0x20], 0x5e1d6c0a
mov dword [ebp - 0x1c], 0xd05a2572
mov dword [ebp - 0x18], 0x52526f55
mov word [ebp - 0x14], 0x5360
test al, 1
jne 0x10038149
or eax, 1
mov dword [esi + 0x724], 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 + 0x355a], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x354c], al
add ecx, 1
adc edx, 0
jne 0x10038138
cmp ecx, 0xe
jb 0x10038120
push 0x100715a0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x37
lea edi, [esi + 0x354c]
mov ecx, edi
call fcn.10052060
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 0x10038170
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
push 0x10087510
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x3b
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x3c
mov eax, dword [esi + 0x348c]
mov dword [ebp - 0x48], 0x5b0c624e
mov dword [ebp - 0x44], 0x8f0e313c
mov dword [ebp - 0x40], 0x54437f40
mov word [ebp - 0x3c], 0x3e32
mov byte [ebp - 0x3a], 0x6f
test al, 1
jne 0x10038249
or eax, 1
mov dword [esi + 0x348c], 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 + 0x9bf], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x9b0], al
add ecx, 1
adc edx, 0
jne 0x10038238
cmp ecx, 0xf
jb 0x10038220
push 0x100715f0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x3c
lea edi, [esi + 0x9b0]
mov ecx, edi
call fcn.100520c0
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 0x10038271
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x100382c9
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100382bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100383ad
push edx
push ecx
call fcn.1005d306
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 0x10038319
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003830f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100383ad
push edx
push ecx
call fcn.1005d306
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 0x10038368
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003835e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100383ad
push edx
push ecx
call fcn.1005d306
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 0x100383bd
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100383b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100383b3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
mov ecx, 0x1008e740
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100383f1
sub ecx, edx
cmp ecx, 0x20
jae 0x10038408
cmp ecx, 1
ja 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x118]
mov dword [ebp - 0x28], 0x387c3f5
mov dword [ebp - 0x24], 0x8bfe4ed1
push 0x1008e740
test al, 1
jne 0x1003848c
or eax, 1
mov dword [esi + 0x118], 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 + 0x2714], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x270c], al
add ecx, 1
adc edx, 0
jne 0x10038478
cmp ecx, 8
jb 0x10038460
push 0x100713c0
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x270c]
mov ecx, edi
call fcn.10051e20
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 0x100384b7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov dword [ebp - 4], 0x43
mov eax, dword [esi + 0x1fb8]
mov dword [ebp - 0x18], 0x73cedcbb
test al, 1
jne 0x10038539
or eax, 1
mov dword [esi + 0x1fb8], 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 + 0x28d4], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x28d0], al
add ecx, 1
adc edx, 0
jne 0x10038528
cmp ecx, 4
jb 0x10038510
push 0x10071410
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x43
lea edi, [esi + 0x28d0]
mov ecx, edi
call fcn.10051e80
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 0x10038566
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.1005a6c0
mov byte [ebp - 4], 0x45
mov eax, dword [esi + 0x119c]
mov dword [ebp - 0x20], 0x1a83d6b2
mov dword [ebp - 0x1c], 0xa4e417c4
mov dword [ebp - 0x18], 0x16ccd5ed
mov word [ebp - 0x14], 0x61d6
test al, 1
jne 0x100385f9
or eax, 1
mov dword [esi + 0x119c], 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 + 0x350a], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x34fc], al
add ecx, 1
adc edx, 0
jne 0x100385e8
cmp ecx, 0xe
jb 0x100385d0
push 0x10071460
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x45
lea edi, [esi + 0x34fc]
mov ecx, edi
call fcn.10051ee0
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 0x10038620
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
push 0x10087150
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x49
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x4a
mov eax, dword [esi + 0x11f8]
mov dword [ebp - 0x48], 0x1f92d8f6
mov dword [ebp - 0x44], 0xfbb0038a
mov dword [ebp - 0x40], 0x10ddc5f8
mov word [ebp - 0x3c], 0xc84
mov byte [ebp - 0x3a], 0xd1
test al, 1
jne 0x100386f9
or eax, 1
mov dword [esi + 0x11f8], 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 + 0x390b], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0x38fc], al
add ecx, 1
adc edx, 0
jne 0x100386e8
cmp ecx, 0xf
jb 0x100386d0
push 0x100714b0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x4a
lea edi, [esi + 0x38fc]
mov ecx, edi
call fcn.10051f40
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 0x10038721
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x10038779
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003876f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003885d
push edx
push ecx
call fcn.1005d306
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 0x100387c9
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100387bf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003885d
push edx
push ecx
call fcn.1005d306
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 0x10038818
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003880e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1003885d
push edx
push ecx
call fcn.1005d306
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 0x1003886d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038863
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10038863
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x570]
mov dword [ebp - 0x28], 0x3f9569dd
mov dword [ebp - 0x24], 0xab7690db
push 0x1008e740
test al, 1
jne 0x1003891c
or eax, 1
mov dword [esi + 0x570], 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 + 0x10d4], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [ecx + esi + 0x10cc], al
add ecx, 1
adc edx, 0
jne 0x10038908
cmp ecx, 8
jb 0x100388f0
push 0x10071280
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x10cc]
mov ecx, edi
call fcn.10051ca0
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 0x10038947
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov dword [ebp - 4], 0x51
mov eax, dword [esi + 0x33b8]
mov dword [ebp - 0x18], 0x4fdc7693
test al, 1
jne 0x100389c9
or eax, 1
mov dword [esi + 0x33b8], 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 + 0x23e8], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [ecx + esi + 0x23e4], al
add ecx, 1
adc edx, 0
jne 0x100389b8
cmp ecx, 4
jb 0x100389a0
push 0x100712d0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x51
lea edi, [esi + 0x23e4]
mov ecx, edi
call fcn.10051d00
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 0x100389f6
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.1005a6c0
mov byte [ebp - 4], 0x53
mov eax, dword [esi + 0x1244]
mov dword [ebp - 0x20], 0x26917c9a
mov dword [ebp - 0x1c], 0x846cc9ce
mov dword [ebp - 0x18], 0x2ade7fc5
mov word [ebp - 0x14], 0xbfdc
test al, 1
jne 0x10038a89
or eax, 1
mov dword [esi + 0x1244], 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 + 0x11f6], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + esi + 0x11e8], al
add ecx, 1
adc edx, 0
jne 0x10038a78
cmp ecx, 0xe
jb 0x10038a60
push 0x10071320
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x53
lea edi, [esi + 0x11e8]
mov ecx, edi
call fcn.10051d60
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 0x10038ab0
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x68]
call fcn.1005a6c0
push 0x10087340
lea edx, [ebp - 0x68]
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x98]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x57
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0x80]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x58
mov eax, dword [esi + 0x1f20]
mov dword [ebp - 0x48], 0x238072de
mov dword [ebp - 0x44], 0xdb38dd80
mov dword [ebp - 0x40], 0x2ccf6fd0
mov word [ebp - 0x3c], 0xd28e
mov byte [ebp - 0x3a], 0x59
test al, 1
jne 0x10038b89
or eax, 1
mov dword [esi + 0x1f20], 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 + 0xf3b], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [ecx + esi + 0xf2c], al
add ecx, 1
adc edx, 0
jne 0x10038b78
cmp ecx, 0xf
jb 0x10038b60
push 0x10071370
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x58
lea edi, [esi + 0xf2c]
mov ecx, edi
call fcn.10051dc0
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 0x10038bb1
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x10038c09
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038bff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038ced
push edx
push ecx
call fcn.1005d306
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 0x10038c59
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038c4f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038ced
push edx
push ecx
call fcn.1005d306
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 0x10038ca8
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038c9e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10038ced
push edx
push ecx
call fcn.1005d306
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 0x10038cfd
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10038cf3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10038cf3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
mov eax, dword [ecx]
push edx
call dword [eax + 8]
test eax, eax
je 0x100391c9
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x3a94]
mov dword [ebp - 0x28], 0xa167292b
mov dword [ebp - 0x24], 0xe7023a77
push 0x1008e740
test al, 1
jne 0x10038dac
or eax, 1
mov dword [esi + 0x3a94], 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 + 0x1158], 1
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x28]
mov byte [esi + ecx + 0x1150], al
add ecx, 1
adc edx, 0
jne 0x10038d98
cmp ecx, 8
jb 0x10038d80
push 0x10071140
call fcn.1005d3bd
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea edi, [esi + 0x1150]
mov ecx, edi
call fcn.10051b20
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 0x10038dd7
sub ecx, ebx
push ecx
push edi
mov ecx, edx
call fcn.1005a6c0
mov dword [ebp - 4], 0x5f
mov eax, dword [esi + 0xd0]
mov dword [ebp - 0x18], 0xd12e3665
test al, 1
jne 0x10038e59
or eax, 1
mov dword [esi + 0xd0], 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 + 0x5dc], 1
nop dword [eax]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x18]
mov byte [esi + ecx + 0x5d8], al
add ecx, 1
adc edx, 0
jne 0x10038e48
cmp ecx, 4
jb 0x10038e30
push 0x10071190
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x5f
lea edi, [esi + 0x5d8]
mov ecx, edi
call fcn.10051b80
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 0x10038e80
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x80]
call fcn.1005a6c0
mov byte [ebp - 4], 0x61
mov eax, dword [esi + 0x1d74]
mov dword [ebp - 0x20], 0xb8633c6c
mov dword [ebp - 0x1c], 0xc8186362
mov dword [ebp - 0x18], 0xb42c3f33
mov word [ebp - 0x14], 0x1570
test al, 1
jne 0x10038f09
or eax, 1
mov dword [esi + 0x1d74], 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 + 0x2f52], 1
nop
mov al, byte [ebp + ecx - 0x20]
mov byte [esi + ecx + 0x2f44], al
add ecx, 1
adc edx, 0
jne 0x10038ef8
cmp ecx, 0xe
jb 0x10038ee0
push 0x100711e0
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x61
lea edi, [esi + 0x2f44]
mov ecx, edi
call fcn.10051be0
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 0x10038f36
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0xb0]
call fcn.1005a6c0
push 0x10087510
lea edx, [ebp - 0xb0]
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xe0]
call fcn.1005a810
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.1005bae0
sub esp, 0x18
mov byte [ebp - 4], 0x65
mov ecx, esp
mov dword [ebp - 0x30], esp
lea edx, [ebp - 0xc8]
push 0x10087570
call fcn.1005a810
add esp, 4
mov byte [ebp - 4], 0x66
mov eax, dword [esi + 0x2e08]
mov dword [ebp - 0x48], 0xbd723228
mov dword [ebp - 0x44], 0x974c772c
mov dword [ebp - 0x40], 0xb23d2f26
mov word [ebp - 0x3c], 0x7822
mov byte [ebp - 0x3a], 0x2d
test al, 1
jne 0x10039019
or eax, 1
mov dword [esi + 0x2e08], 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 + 0x1b1f], 1
nop
mov al, byte [ebp + ecx - 0x48]
mov byte [esi + ecx + 0x1b10], al
add ecx, 1
adc edx, 0
jne 0x10039008
cmp ecx, 0xf
jb 0x10038ff0
push 0x10071230
call fcn.1005d3bd
add esp, 4
mov byte [ebp - 4], 0x66
lea esi, [esi + 0x1b10]
mov ecx, esi
call fcn.10051c40
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 0x10039041
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.1005a6c0
mov ecx, dword [0x100897e0]
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 0x1003909f
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039095
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10039195
push edx
push ecx
call fcn.1005d306
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 0x100390f8
mov ecx, dword [ebp - 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100390ee
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10039195
push edx
push ecx
call fcn.1005d306
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 0x1003914d
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10039143
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10039195
push edx
push ecx
call fcn.1005d306
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 0x100391a5
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1003919b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1003919b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1005d306
add esp, 8
mov ecx, dword [0x1008d9c4]
mov edx, 0x10087528
cmp dword [0x1008753c], 0x10
push 0x1008e740
cmovae edx, dword [0x10087528]
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.1005cab9
mov esp, ebp
pop ebp
ret