Function at 0x100780c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a568a
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
mov eax, dword [0x100ba008]
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 ebx, ecx
mov eax, dword [0x100fae20]
mov edx, dword [0x100e67f4]
push 0x1009bab0
push 0xfffffffffffffffc
push dword [eax + 8]
call edx
mov dword [ebx + 0x67c], eax
mov edi, dword [0x100fadb8]
mov dword [ebx], edi
mov eax, dword [edi]
mov dword [ebx + 4], eax
test eax, eax
je 0x10078237
xor esi, esi
mov eax, dword [ebx + 4]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1007814e
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1007814e
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1007814e
test eax, 0x100
jne 0x1007814e
inc esi
jmp 0x10078121
mov dword [ebx + 0xc], esi
test esi, esi
je 0x10078237
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 8]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x100781d0
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x1007820d
mov dword [ebp - 4], 1
lea esi, [eax - 4]
jmp 0x100781e1
test esi, esi
je 0x1007820d
mov dword [ebp - 4], 2
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 8]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078237
mov eax, dword [ebx + 0xc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 4]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x10], 1
xor eax, eax
cmp byte [ebx + 0x10], al
setne al
add eax, 0x29
cmp dword [ebx + 4], 0
je 0x1007825b
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x1007825b
cmp eax, dword [ebx + 0xc]
ja 0x1007825b
mov dword [ecx + eax*4], 0x10089bb0
mov edi, dword [0x100fada0]
mov dword [ebx + 0x28], edi
mov eax, dword [edi]
mov dword [ebx + 0x2c], eax
test eax, eax
je 0x10078389
xor esi, esi
mov eax, dword [ebx + 0x2c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100782a0
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100782a0
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100782a0
test eax, 0x100
jne 0x100782a0
inc esi
jmp 0x10078273
mov dword [ebx + 0x34], esi
test esi, esi
je 0x10078389
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 3
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x30]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10078322
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x1007835f
mov dword [ebp - 4], 4
lea esi, [eax - 4]
jmp 0x10078333
test esi, esi
je 0x1007835f
mov dword [ebp - 4], 5
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x30]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078389
mov eax, dword [ebx + 0x34]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x2c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x38], 1
mov edx, dword [ebx + 0x2c]
xor eax, eax
cmp byte [ebx + 0x38], al
mov ecx, edx
setne al
add eax, 5
test edx, edx
je 0x100783b3
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x100783b3
cmp eax, dword [ebx + 0x34]
ja 0x100783b3
mov dword [esi + eax*4], 0x1007f8e0
mov ecx, dword [ebx + 0x2c]
xor edx, edx
mov eax, ecx
cmp byte [ebx + 0x38], dl
setne dl
add edx, 6
test ecx, ecx
je 0x100783da
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x100783da
cmp edx, dword [ebx + 0x34]
ja 0x100783da
mov dword [esi + edx*4], 0x1007f9a0
mov eax, dword [ebx + 0x2c]
xor ecx, ecx
mov edx, eax
cmp byte [ebx + 0x38], cl
setne cl
add ecx, 7
test eax, eax
je 0x10078401
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x10078401
cmp ecx, dword [ebx + 0x34]
ja 0x10078401
mov dword [esi + ecx*4], 0x1007fb10
mov edx, dword [ebx + 0x2c]
xor eax, eax
cmp byte [ebx + 0x38], al
setne al
add eax, 0x24
test edx, edx
je 0x10078423
mov ecx, dword [ebx + 0x30]
test ecx, ecx
je 0x10078423
cmp eax, dword [ebx + 0x34]
ja 0x10078423
mov dword [ecx + eax*4], 0x1007fce0
mov edi, dword [0x100fada8]
mov dword [ebx + 0x50], edi
mov eax, dword [edi]
mov dword [ebx + 0x54], eax
test eax, eax
je 0x10078556
xor esi, esi
nop dword [eax + eax]
mov eax, dword [ebx + 0x54]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1007846d
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1007846d
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1007846d
test eax, 0x100
jne 0x1007846d
inc esi
jmp 0x10078440
mov dword [ebx + 0x5c], esi
test esi, esi
je 0x10078556
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 6
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x58]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x100784ef
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x1007852c
mov dword [ebp - 4], 7
lea esi, [eax - 4]
jmp 0x10078500
test esi, esi
je 0x1007852c
mov dword [ebp - 4], 8
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x58]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078556
mov eax, dword [ebx + 0x5c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x54]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x60], 1
mov edx, dword [ebx + 0x54]
xor ecx, ecx
cmp byte [ebx + 0x60], cl
mov eax, edx
setne cl
add ecx, 0x1b
test edx, edx
je 0x10078580
mov esi, dword [ebx + 0x58]
test esi, esi
je 0x10078580
cmp ecx, dword [ebx + 0x5c]
ja 0x10078580
mov dword [esi + ecx*4], 0x1007d670
mov eax, dword [ebx + 0x54]
xor ecx, ecx
mov edx, eax
cmp byte [ebx + 0x60], cl
setne cl
add ecx, 0x5d
test eax, eax
je 0x100785a7
mov esi, dword [ebx + 0x58]
test esi, esi
je 0x100785a7
cmp ecx, dword [ebx + 0x5c]
ja 0x100785a7
mov dword [esi + ecx*4], 0x1007d7d0
mov edx, dword [ebx + 0x54]
xor eax, eax
cmp byte [ebx + 0x60], al
setne al
add eax, 0x52
test edx, edx
je 0x100785c9
mov ecx, dword [ebx + 0x58]
test ecx, ecx
je 0x100785c9
cmp eax, dword [ebx + 0x5c]
ja 0x100785c9
mov dword [ecx + eax*4], 0x1007d910
mov edi, dword [0x100fae00]
mov dword [ebx + 0x64], edi
mov eax, dword [edi]
mov dword [ebx + 0x68], eax
test eax, eax
je 0x100786f7
xor esi, esi
mov eax, dword [ebx + 0x68]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1007860e
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1007860e
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1007860e
test eax, 0x100
jne 0x1007860e
inc esi
jmp 0x100785e1
mov dword [ebx + 0x70], esi
test esi, esi
je 0x100786f7
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 9
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x6c]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10078690
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x100786cd
mov dword [ebp - 4], 0xa
lea esi, [eax - 4]
jmp 0x100786a1
test esi, esi
je 0x100786cd
mov dword [ebp - 4], 0xb
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x6c]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x100786f7
mov eax, dword [ebx + 0x70]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x68]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x74], 1
xor eax, eax
cmp byte [ebx + 0x74], al
setne al
add eax, 5
cmp dword [ebx + 0x68], 0
je 0x1007871b
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x1007871b
cmp eax, dword [ebx + 0x70]
ja 0x1007871b
mov dword [ecx + eax*4], 0x1007d990
mov edi, dword [0x100fadc0]
mov dword [ebx + 0x78], edi
mov eax, dword [edi]
mov dword [ebx + 0x7c], eax
test eax, eax
je 0x10078858
xor esi, esi
mov eax, dword [ebx + 0x7c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10078760
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10078760
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10078760
test eax, 0x100
jne 0x10078760
inc esi
jmp 0x10078733
mov dword [ebx + 0x84], esi
test esi, esi
je 0x10078858
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0xc
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x80]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x100787e8
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10078828
mov dword [ebp - 4], 0xd
lea esi, [eax - 4]
jmp 0x100787f9
test esi, esi
je 0x10078828
mov dword [ebp - 4], 0xe
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x80]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078858
mov eax, dword [ebx + 0x84]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x7c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x88], 1
mov edx, dword [ebx + 0x7c]
xor eax, eax
cmp byte [ebx + 0x88], al
mov ecx, edx
setne al
add eax, 0xe
test edx, edx
je 0x1007888b
mov esi, dword [ebx + 0x80]
test esi, esi
je 0x1007888b
cmp eax, dword [ebx + 0x84]
ja 0x1007888b
mov dword [esi + eax*4], 0x1008fe30
mov ecx, dword [ebx + 0x7c]
xor eax, eax
cmp byte [ebx + 0x88], al
setne al
add eax, 0x13
test ecx, ecx
je 0x100788b6
mov ecx, dword [ebx + 0x80]
test ecx, ecx
je 0x100788b6
cmp eax, dword [ebx + 0x84]
ja 0x100788b6
mov dword [ecx + eax*4], 0x10090340
mov edi, dword [0x100fae04]
mov dword [ebx + 0x14], edi
mov eax, dword [edi]
mov dword [ebx + 0x18], eax
test eax, eax
je 0x100789e6
xor esi, esi
nop
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100788fd
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100788fd
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100788fd
test eax, 0x100
jne 0x100788fd
inc esi
jmp 0x100788d0
mov dword [ebx + 0x20], esi
test esi, esi
je 0x100789e6
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0xf
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x1c]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x1007897f
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x100789bc
mov dword [ebp - 4], 0x10
lea esi, [eax - 4]
jmp 0x10078990
test esi, esi
je 0x100789bc
mov dword [ebp - 4], 0x11
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x1c]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x100789e6
mov eax, dword [ebx + 0x20]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x18]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x24], 1
mov edx, dword [ebx + 0x18]
xor eax, eax
cmp byte [ebx + 0x24], al
mov ecx, edx
setne al
add eax, 0x10
test edx, edx
je 0x10078a10
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x10078a10
cmp eax, dword [ebx + 0x20]
ja 0x10078a10
mov dword [esi + eax*4], 0x10089780
mov ecx, dword [ebx + 0x18]
xor edx, edx
mov eax, ecx
cmp byte [ebx + 0x24], dl
setne dl
add edx, 0x11
test ecx, ecx
je 0x10078a37
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x10078a37
cmp edx, dword [ebx + 0x20]
ja 0x10078a37
mov dword [esi + edx*4], 0x10089790
mov eax, dword [ebx + 0x18]
xor edx, edx
mov ecx, eax
cmp byte [ebx + 0x24], dl
setne dl
add edx, 0x12
test eax, eax
je 0x10078a5e
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x10078a5e
cmp edx, dword [ebx + 0x20]
ja 0x10078a5e
mov dword [esi + edx*4], 0x100897e0
mov ecx, dword [ebx + 0x18]
xor eax, eax
mov edx, ecx
cmp byte [ebx + 0x24], al
setne al
add eax, 0x18
test ecx, ecx
je 0x10078a85
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x10078a85
cmp eax, dword [ebx + 0x20]
ja 0x10078a85
mov dword [esi + eax*4], 0x10089890
mov edx, dword [ebx + 0x18]
xor eax, eax
cmp byte [ebx + 0x24], al
setne al
add eax, 0x2c
test edx, edx
je 0x10078aa7
mov ecx, dword [ebx + 0x1c]
test ecx, ecx
je 0x10078aa7
cmp eax, dword [ebx + 0x20]
ja 0x10078aa7
mov dword [ecx + eax*4], 0x10089a00
mov edi, dword [0x100fadb4]
mov dword [ebx + 0x8c], edi
mov eax, dword [edi]
mov dword [ebx + 0x90], eax
test eax, eax
je 0x10078bf0
xor esi, esi
mov eax, dword [ebx + 0x90]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10078af5
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10078af5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10078af5
test eax, 0x100
jne 0x10078af5
inc esi
jmp 0x10078ac5
mov dword [ebx + 0x98], esi
test esi, esi
je 0x10078bf0
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x12
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x94]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10078b7d
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10078bbd
mov dword [ebp - 4], 0x13
lea esi, [eax - 4]
jmp 0x10078b8e
test esi, esi
je 0x10078bbd
mov dword [ebp - 4], 0x14
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x94]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078bf0
mov eax, dword [ebx + 0x98]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x90]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x9c], 1
mov edx, dword [ebx + 0x90]
xor ecx, ecx
cmp byte [ebx + 0x9c], cl
mov eax, edx
setne cl
add ecx, 0x43
test edx, edx
je 0x10078c29
mov esi, dword [ebx + 0x94]
test esi, esi
je 0x10078c29
cmp ecx, dword [ebx + 0x98]
ja 0x10078c29
mov dword [esi + ecx*4], 0x10086c30
mov eax, dword [ebx + 0x90]
xor ecx, ecx
mov edx, eax
cmp byte [ebx + 0x9c], cl
setne cl
add ecx, 0x52
test eax, eax
je 0x10078c5c
mov esi, dword [ebx + 0x94]
test esi, esi
je 0x10078c5c
cmp ecx, dword [ebx + 0x98]
ja 0x10078c5c
mov dword [esi + ecx*4], 0x10086c90
mov edx, dword [ebx + 0x90]
xor eax, eax
cmp byte [ebx + 0x9c], al
setne al
add eax, 0x74
test edx, edx
je 0x10078c87
mov ecx, dword [ebx + 0x94]
test ecx, ecx
je 0x10078c87
cmp eax, dword [ebx + 0x98]
ja 0x10078c87
mov dword [ecx + eax*4], 0x10086d20
mov edi, dword [0x100fadd4]
mov dword [ebx + 0xdc], edi
mov eax, dword [edi]
mov dword [ebx + 0xe0], eax
test eax, eax
je 0x10078dd0
xor esi, esi
mov eax, dword [ebx + 0xe0]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10078cd5
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10078cd5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10078cd5
test eax, 0x100
jne 0x10078cd5
inc esi
jmp 0x10078ca5
mov dword [ebx + 0xe8], esi
test esi, esi
je 0x10078dd0
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x15
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0xe4]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10078d5d
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10078d9d
mov dword [ebp - 4], 0x16
lea esi, [eax - 4]
jmp 0x10078d6e
test esi, esi
je 0x10078d9d
mov dword [ebp - 4], 0x17
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0xe4]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078dd0
mov eax, dword [ebx + 0xe8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0xe0]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0xec], 1
xor eax, eax
cmp byte [ebx + 0xec], al
setne al
add eax, 0x15
cmp dword [ebx + 0xe0], 0
je 0x10078e00
mov ecx, dword [ebx + 0xe4]
test ecx, ecx
je 0x10078e00
cmp eax, dword [ebx + 0xe8]
ja 0x10078e00
mov dword [ecx + eax*4], 0x100735c0
mov edi, dword [0x100fadcc]
mov dword [ebx + 0xc8], edi
mov eax, dword [edi]
mov dword [ebx + 0xcc], eax
test eax, eax
je 0x10078f4b
xor esi, esi
nop
mov eax, dword [ebx + 0xcc]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10078e50
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10078e50
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10078e50
test eax, 0x100
jne 0x10078e50
inc esi
jmp 0x10078e20
mov dword [ebx + 0xd4], esi
test esi, esi
je 0x10078f4b
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x18
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0xd0]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10078ed8
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10078f18
mov dword [ebp - 4], 0x19
lea esi, [eax - 4]
jmp 0x10078ee9
test esi, esi
je 0x10078f18
mov dword [ebp - 4], 0x1a
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0xd0]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10078f4b
mov eax, dword [ebx + 0xd4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0xcc]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0xd8], 1
xor eax, eax
cmp byte [ebx + 0xd8], al
setne al
add eax, 9
cmp dword [ebx + 0xcc], 0
je 0x10078f7b
mov ecx, dword [ebx + 0xd0]
test ecx, ecx
je 0x10078f7b
cmp eax, dword [ebx + 0xd4]
ja 0x10078f7b
mov dword [ecx + eax*4], 0x10090470
mov edi, dword [0x100fae2c]
mov dword [ebx + 0xf0], edi
mov eax, dword [edi]
mov dword [ebx + 0xf4], eax
test eax, eax
je 0x100790cb
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0xf4]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10078fd0
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10078fd0
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10078fd0
test eax, 0x100
jne 0x10078fd0
inc esi
jmp 0x10078fa0
mov dword [ebx + 0xfc], esi
test esi, esi
je 0x100790cb
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x1b
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0xf8]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10079058
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10079098
mov dword [ebp - 4], 0x1c
lea esi, [eax - 4]
jmp 0x10079069
test esi, esi
je 0x10079098
mov dword [ebp - 4], 0x1d
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0xf8]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x100790cb
mov eax, dword [ebx + 0xfc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0xf4]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x100], 1
xor eax, eax
cmp byte [ebx + 0x100], al
setne al
add eax, 0x2b
cmp dword [ebx + 0xf4], 0
je 0x100790fb
mov ecx, dword [ebx + 0xf8]
test ecx, ecx
je 0x100790fb
cmp eax, dword [ebx + 0xfc]
ja 0x100790fb
mov dword [ecx + eax*4], 0x10043280
mov edi, dword [0x100fadd0]
mov dword [ebx + 0x104], edi
mov eax, dword [edi]
mov dword [ebx + 0x108], eax
test eax, eax
je 0x1007924b
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x108]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10079150
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10079150
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10079150
test eax, 0x100
jne 0x10079150
inc esi
jmp 0x10079120
mov dword [ebx + 0x110], esi
test esi, esi
je 0x1007924b
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x1e
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x10c]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x100791d8
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10079218
mov dword [ebp - 4], 0x1f
lea esi, [eax - 4]
jmp 0x100791e9
test esi, esi
je 0x10079218
mov dword [ebp - 4], 0x20
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x10c]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x1007924b
mov eax, dword [ebx + 0x110]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x108]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x114], 1
mov edx, dword [ebx + 0x108]
xor eax, eax
cmp byte [ebx + 0x114], al
mov ecx, edx
setne al
add eax, 4
test edx, edx
je 0x10079284
mov esi, dword [ebx + 0x10c]
test esi, esi
je 0x10079284
cmp eax, dword [ebx + 0x110]
ja 0x10079284
mov dword [esi + eax*4], 0x1008ea70
mov ecx, dword [ebx + 0x108]
xor edx, edx
mov eax, ecx
cmp byte [ebx + 0x114], dl
setne dl
add edx, 6
test ecx, ecx
je 0x100792b7
mov esi, dword [ebx + 0x10c]
test esi, esi
je 0x100792b7
cmp edx, dword [ebx + 0x110]
ja 0x100792b7
mov dword [esi + edx*4], 0x1008eb80
mov eax, dword [ebx + 0x108]
xor ecx, ecx
mov edx, eax
cmp byte [ebx + 0x114], cl
setne cl
add ecx, 0x27
test eax, eax
je 0x100792ea
mov esi, dword [ebx + 0x10c]
test esi, esi
je 0x100792ea
cmp ecx, dword [ebx + 0x110]
ja 0x100792ea
mov dword [esi + ecx*4], 0x1008eb90
mov edx, dword [ebx + 0x108]
xor eax, eax
cmp byte [ebx + 0x114], al
setne al
add eax, 0x28
test edx, edx
je 0x10079315
mov ecx, dword [ebx + 0x10c]
test ecx, ecx
je 0x10079315
cmp eax, dword [ebx + 0x110]
ja 0x10079315
mov dword [ecx + eax*4], 0x1008ebd0
mov edi, dword [0x100fadf4]
mov dword [ebx + 0x118], edi
mov eax, dword [edi]
mov dword [ebx + 0x11c], eax
test eax, eax
je 0x1007945e
xor esi, esi
mov eax, dword [ebx + 0x11c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10079363
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10079363
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10079363
test eax, 0x100
jne 0x10079363
inc esi
jmp 0x10079333
mov dword [ebx + 0x124], esi
test esi, esi
je 0x1007945e
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x21
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x120]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x100793eb
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x1007942b
mov dword [ebp - 4], 0x22
lea esi, [eax - 4]
jmp 0x100793fc
test esi, esi
je 0x1007942b
mov dword [ebp - 4], 0x23
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x120]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x1007945e
mov eax, dword [ebx + 0x124]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x11c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x128], 1
xor eax, eax
cmp byte [ebx + 0x128], al
setne al
add eax, 0xd
cmp dword [ebx + 0x11c], 0
je 0x1007948e
mov ecx, dword [ebx + 0x120]
test ecx, ecx
je 0x1007948e
cmp eax, dword [ebx + 0x124]
ja 0x1007948e
mov dword [ecx + eax*4], 0x10041ca0
mov edi, dword [0x100fadd8]
mov dword [ebx + 0x12c], edi
mov eax, dword [edi]
mov dword [ebx + 0x130], eax
test eax, eax
je 0x100795db
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x130]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100794e0
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100794e0
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100794e0
test eax, 0x100
jne 0x100794e0
inc esi
jmp 0x100794b0
mov dword [ebx + 0x138], esi
test esi, esi
je 0x100795db
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x24
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x134]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10079568
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x100795a8
mov dword [ebp - 4], 0x25
lea esi, [eax - 4]
jmp 0x10079579
test esi, esi
je 0x100795a8
mov dword [ebp - 4], 0x26
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x134]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x100795db
mov eax, dword [ebx + 0x138]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x130]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x13c], 1
xor eax, eax
cmp byte [ebx + 0x13c], al
setne al
add eax, 0x15
cmp dword [ebx + 0x130], 0
je 0x1007960b
mov ecx, dword [ebx + 0x134]
test ecx, ecx
je 0x1007960b
cmp eax, dword [ebx + 0x138]
ja 0x1007960b
mov dword [ecx + eax*4], 0x10041fd0
mov edi, dword [0x100faf14]
mov dword [ebx + 0x140], edi
mov eax, dword [edi]
mov dword [ebx + 0x144], eax
test eax, eax
je 0x1007975b
xor esi, esi
nop dword [eax]
mov eax, dword [ebx + 0x144]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10079660
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10079660
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10079660
test eax, 0x100
jne 0x10079660
inc esi
jmp 0x10079630
mov dword [ebx + 0x14c], esi
test esi, esi
je 0x1007975b
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x27
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x148]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x100796e8
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10079728
mov dword [ebp - 4], 0x28
lea esi, [eax - 4]
jmp 0x100796f9
test esi, esi
je 0x10079728
mov dword [ebp - 4], 0x29
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x148]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x1007975b
mov eax, dword [ebx + 0x14c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x144]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x150], 1
xor eax, eax
cmp byte [ebx + 0x150], al
setne al
add eax, 7
cmp dword [ebx + 0x144], 0
je 0x1007978b
mov ecx, dword [ebx + 0x148]
test ecx, ecx
je 0x1007978b
cmp eax, dword [ebx + 0x14c]
ja 0x1007978b
mov dword [ecx + eax*4], 0x10041500
mov edi, dword [0x100fae40]
mov dword [ebx + 0x3c], edi
mov eax, dword [edi]
mov dword [ebx + 0x40], eax
test eax, eax
je 0x100798b9
xor esi, esi
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100797d0
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100797d0
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100797d0
test eax, 0x100
jne 0x100797d0
inc esi
jmp 0x100797a3
mov dword [ebx + 0x48], esi
test esi, esi
je 0x100798b9
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x2a
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x44]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10079852
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x1007988f
mov dword [ebp - 4], 0x2b
lea esi, [eax - 4]
jmp 0x10079863
test esi, esi
je 0x1007988f
mov dword [ebp - 4], 0x2c
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x44]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x100798b9
mov eax, dword [ebx + 0x48]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x40]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x4c], 1
mov edx, dword [ebx + 0x40]
xor ecx, ecx
cmp byte [ebx + 0x4c], cl
mov eax, edx
setne cl
add ecx, 5
test edx, edx
je 0x100798e3
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x100798e3
cmp ecx, dword [ebx + 0x48]
ja 0x100798e3
mov dword [esi + ecx*4], 0x1002dfd0
mov eax, dword [ebx + 0x40]
xor ecx, ecx
mov edx, eax
cmp byte [ebx + 0x4c], cl
setne cl
add ecx, 6
test eax, eax
je 0x1007990a
mov esi, dword [ebx + 0x44]
test esi, esi
je 0x1007990a
cmp ecx, dword [ebx + 0x48]
ja 0x1007990a
mov dword [esi + ecx*4], 0x1002e0f0
mov edx, dword [ebx + 0x40]
xor eax, eax
cmp byte [ebx + 0x4c], al
setne al
add eax, 0x24
test edx, edx
je 0x1007992c
mov ecx, dword [ebx + 0x44]
test ecx, ecx
je 0x1007992c
cmp eax, dword [ebx + 0x48]
ja 0x1007992c
mov dword [ecx + eax*4], 0x1002df60
push 0x100ba21c
call dword [0x100faf24]
mov edi, dword [0x100fae84]
mov dword [ebx + 0x668], edi
mov eax, dword [edi]
mov dword [ebx + 0x66c], eax
test eax, eax
je 0x10079a80
xor esi, esi
mov eax, dword [ebx + 0x66c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10079985
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10079985
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10079985
test eax, 0x100
jne 0x10079985
inc esi
jmp 0x10079955
mov dword [ebx + 0x674], esi
test esi, esi
je 0x10079a80
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x2d
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x670]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10079a0d
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10079a4d
mov dword [ebp - 4], 0x2e
lea esi, [eax - 4]
jmp 0x10079a1e
test esi, esi
je 0x10079a4d
mov dword [ebp - 4], 0x2f
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x670]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10079a80
mov eax, dword [ebx + 0x674]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x66c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x678], 1
xor eax, eax
cmp byte [ebx + 0x678], al
setne al
add eax, 0xd
cmp dword [ebx + 0x66c], 0
je 0x10079ab0
mov ecx, dword [ebx + 0x670]
test ecx, ecx
je 0x10079ab0
cmp eax, dword [ebx + 0x674]
ja 0x10079ab0
mov dword [ecx + eax*4], 0x10073230
mov edi, dword [0x100fae88]
mov dword [ebx + 0x154], edi
mov eax, dword [edi]
mov dword [ebx + 0x158], eax
test eax, eax
je 0x10079bfb
xor esi, esi
nop
mov eax, dword [ebx + 0x158]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10079b00
mov eax, dword [0x100e67f0]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10079b00
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10079b00
test eax, 0x100
jne 0x10079b00
inc esi
jmp 0x10079ad0
mov dword [ebx + 0x160], esi
test esi, esi
je 0x10079bfb
inc esi
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x18], esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.1009c5d6
add esp, 4
mov dword [ebp - 0x1c], eax
push 0x10017110
push 0x10017100
mov dword [ebp - 4], 0x30
mov dword [eax], esi
add eax, 4
push esi
push 4
mov esi, eax
mov dword [ebp - 0x14], eax
push esi
call fcn.1009c562
lea ecx, [ebx + 0x15c]
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x18]
cmp ecx, eax
je 0x10079b88
mov eax, dword [ecx]
mov dword [ecx], esi
test eax, eax
je 0x10079bc8
mov dword [ebp - 4], 0x31
lea esi, [eax - 4]
jmp 0x10079b99
test esi, esi
je 0x10079bc8
mov dword [ebp - 4], 0x32
add esi, 0xfffffffc
mov eax, dword [ebp - 0x14]
push 0x10017110
push dword [esi]
push 4
push eax
call fcn.1009c102
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.1009c0c4
lea ecx, [ebx + 0x15c]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov esi, dword [ecx]
test esi, esi
je 0x10079bfb
mov eax, dword [ebx + 0x160]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ebx + 0x158]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [ebx + 0x164], 1
xor eax, eax
cmp byte [ebx + 0x164], al
setne al
add eax, 0xd
cmp dword [ebx + 0x158], 0
je 0x10079c2b
mov ecx, dword [ebx + 0x15c]
test ecx, ecx
je 0x10079c2b
cmp eax, dword [ebx + 0x160]
ja 0x10079c2b
mov dword [ecx + eax*4], 0x10073390
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0xf3c2c786
push eax
mov ecx, 0x10100530
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.1001f3a0
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.1001f380
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x28], xmm0
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
jne 0x10079c7a
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x69c], eax
mov dword [ecx + 0x20], 0x10077d80
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x9ef0d03e
push eax
mov ecx, 0x10100530
mov dword [ebp - 0x18], 0x72e242a1
call fcn.1001f3a0
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.1001f380
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x28], xmm0
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
jne 0x10079cc9
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x6a0], eax
mov dword [ecx + 0x20], 0x10077de0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x566bd764
push eax
mov ecx, 0x10100530
mov dword [ebp - 0x18], 0x2aafa737
call fcn.1001f3a0
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.1001f380
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x28], xmm0
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
jne 0x10079d18
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x20]
mov dword [ebx + 0x6a4], eax
mov dword [edx + 0x20], 0x10077fa0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x781aa1a4
push eax
mov ecx, 0x10100530
mov dword [ebp - 0x18], 0x2aafa737
call fcn.1001f3a0
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, eax
call fcn.1001f380
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
movq qword [ebp - 0x28], xmm0
cmp byte [ebp - 0x28], 0
mov dword [ebp - 0x20], eax
jne 0x10079d67
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x6a8], eax
mov dword [ecx + 0x20], 0x10077f70
cmp byte [0x101005f8], 0
jne 0x10079e3a
push 0x22
push str.B8_________3B_F0_0F_4F_F0_89_5D_FC
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
call fcn.1001e490
mov dword [ebp - 4], 0x33
mov eax, dword [0x100fad78]
test eax, eax
je 0x10079dad
mov edx, dword [eax + 0x50]
jmp 0x10079daf
xor edx, edx
mov eax, dword [0x100fad70]
test eax, eax
je 0x10079dbd
mov eax, dword [eax + 0x18]
jmp 0x10079dbf
xor eax, eax
lea ecx, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.10043870
mov edi, dword [ebp - 0x18]
add esp, 8
mov ecx, dword [ebp - 0x20]
inc edi
cmp ecx, 0x10
jb 0x10079e09
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10079dff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10079dff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009c531
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push edi
mov dword [ebp - 0x14], 0
call esi
lea eax, [ebp - 0x14]
mov dword [edi], 0x3e
push eax
push dword [ebp - 0x14]
push 4
push edi
call esi
mov byte [0x101005f8], 1
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.1009c0b6
mov esp, ebp
pop ebp
ret