Function at 0x100947e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100c4921
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x10122c00]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [0x1012b1f0]
mov ecx, dword [0x1012b0d4]
push 0x100b9c10
push 0xfffffffffffffffc
push dword [eax + 8]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
call ecx
mov dword [esi + 0x6a4], eax
mov edi, dword [0x1012b18c]
mov dword [esi], edi
mov eax, dword [edi]
mov dword [esi + 4], eax
test eax, eax
je 0x10094925
xor ecx, ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10094884
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10094884
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10094884
test eax, 0x100
jne 0x10094884
inc ecx
jmp 0x10094851
mov dword [esi + 0xc], ecx
test ecx, ecx
je 0x10094925
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 8]
mov dword [ebp - 0x48], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x100948ed
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 0
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x48]
mov esi, dword [esi]
test esi, esi
je 0x10094922
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 4]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x10], 1
jmp 0x10094925
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x10], al
setne al
add eax, 0x29
cmp dword [esi + 4], 0
je 0x10094970
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x10094970
cmp eax, dword [esi + 0xc]
ja 0x10094970
mov dword [ecx + eax*4], 0x100a7070
mov eax, dword [esi + 4]
mov eax, dword [eax + 0xa4]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x40], eax
test al, 2
je 0x10094966
and eax, 0xfffffffd
mov dword [ebp - 0x40], eax
test al, 1
je 0x10094970
and eax, 0xfffffffe
mov dword [ebp - 0x40], eax
mov edi, dword [0x1012b174]
mov dword [esi + 0x28], edi
mov eax, dword [edi]
mov dword [esi + 0x2c], eax
test eax, eax
je 0x10094a5c
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100949bb
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x100949bb
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x100949bb
test eax, 0x100
jne 0x100949bb
inc ecx
jmp 0x10094988
mov dword [esi + 0x34], ecx
test ecx, ecx
je 0x10094a5c
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x30]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10094a24
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 1
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10094a59
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x34]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x2c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x38], 1
jmp 0x10094a5c
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x2c]
xor ecx, ecx
cmp byte [esi + 0x38], cl
mov eax, edx
setne cl
add ecx, 5
test edx, edx
je 0x10094ab6
mov edi, dword [esi + 0x30]
test edi, edi
je 0x10094ab6
cmp ecx, dword [esi + 0x34]
ja 0x10094ab6
mov dword [edi + ecx*4], 0x1009d330
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x48], eax
cmp dword [eax + 0x14], ecx
sete cl
lea ecx, [ecx*4 + 4]
or ecx, dword [ebp - 0x40]
mov edx, ecx
and edx, 0xfffffff7
test cl, 8
cmove edx, ecx
mov dword [ebp - 0x40], edx
test dl, 4
je 0x10094ab9
and edx, 0xfffffffb
mov dword [ebp - 0x40], edx
jmp 0x10094ab9
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x38], cl
setne cl
add ecx, 6
test eax, eax
je 0x10094b13
mov edi, dword [esi + 0x30]
mov dword [ebp - 0x38], edi
mov edi, eax
cmp dword [ebp - 0x38], 0
je 0x10094b13
cmp ecx, dword [esi + 0x34]
ja 0x10094b13
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x1009d310
mov edi, dword [esi + 0x2c]
cmp dword [edi + 0x18], 0
je 0x10094af5
or edx, 0x10
jmp 0x10094af8
or edx, 0x20
mov ecx, edx
and ecx, 0xffffffdf
test dl, 0x20
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test dl, 0x10
je 0x10094b13
and edx, 0xffffffef
mov dword [ebp - 0x40], edx
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x38], cl
setne cl
add ecx, 7
test edi, edi
je 0x10094b79
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x38], eax
mov eax, edi
cmp dword [ebp - 0x38], 0
je 0x10094b79
cmp ecx, dword [esi + 0x34]
ja 0x10094b79
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x1009d3c0
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x38], eax
cmp dword [eax + 0x1c], 0
je 0x10094b52
or edx, 0x40
jmp 0x10094b58
or edx, 0x80
mov eax, dword [ebp - 0x38]
mov ecx, edx
and ecx, 0xffffff7f
test dl, 0x80
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test dl, 0x40
je 0x10094b79
and edx, 0xffffffbf
mov dword [ebp - 0x40], edx
xor ecx, ecx
cmp byte [esi + 0x38], cl
setne cl
add ecx, 0x24
test eax, eax
je 0x10094bdc
mov eax, dword [esi + 0x30]
test eax, eax
je 0x10094bdc
cmp ecx, dword [esi + 0x34]
ja 0x10094bdc
mov dword [eax + ecx*4], 0x1009c960
mov eax, dword [esi + 0x2c]
cmp dword [eax + 0x90], 0
je 0x10094baf
or edx, 0x100
jmp 0x10094bb5
or edx, 0x200
mov ecx, edx
and ecx, 0xfffffdff
test edx, 0x200
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x100
je 0x10094bdc
and edx, 0xfffffeff
mov dword [ebp - 0x40], edx
mov edi, dword [0x1012b17c]
mov dword [esi + 0x50], edi
mov eax, dword [edi]
mov dword [esi + 0x54], eax
test eax, eax
je 0x10094cc8
xor ecx, ecx
mov eax, dword [esi + 0x54]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10094c27
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10094c27
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10094c27
test eax, 0x100
jne 0x10094c27
inc ecx
jmp 0x10094bf4
mov dword [esi + 0x5c], ecx
test ecx, ecx
je 0x10094cc8
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x58]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10094c90
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 2
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10094cc5
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x5c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x54]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x60], 1
jmp 0x10094cc8
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x60], al
setne al
add eax, 0x1b
cmp dword [esi + 0x54], 0
je 0x10094d28
mov ecx, dword [esi + 0x58]
test ecx, ecx
je 0x10094d28
cmp eax, dword [esi + 0x5c]
ja 0x10094d28
mov edx, dword [ebp - 0x40]
mov dword [ecx + eax*4], 0x1009b6b0
mov eax, dword [esi + 0x54]
cmp dword [eax + 0x6c], 0
je 0x10094d00
or edx, 0x400
jmp 0x10094d06
or edx, 0x800
mov eax, edx
and eax, 0xfffff7ff
test edx, 0x800
cmove eax, edx
mov dword [ebp - 0x40], eax
test eax, 0x400
je 0x10094d28
and eax, 0xfffffbff
mov dword [ebp - 0x40], eax
mov edi, dword [0x1012b1d0]
mov dword [esi + 0x64], edi
mov eax, dword [edi]
mov dword [esi + 0x68], eax
test eax, eax
je 0x10094e14
xor ecx, ecx
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10094d73
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10094d73
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10094d73
test eax, 0x100
jne 0x10094d73
inc ecx
jmp 0x10094d40
mov dword [esi + 0x70], ecx
test ecx, ecx
je 0x10094e14
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x6c]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10094ddc
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 3
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10094e11
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x70]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x68]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x74], 1
jmp 0x10094e14
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x74], al
setne al
add eax, 5
cmp dword [esi + 0x68], 0
je 0x10094e74
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x10094e74
cmp eax, dword [esi + 0x70]
ja 0x10094e74
mov edx, dword [ebp - 0x40]
mov dword [ecx + eax*4], 0x1009b450
mov eax, dword [esi + 0x68]
cmp dword [eax + 0x14], 0
je 0x10094e4c
or edx, 0x1000
jmp 0x10094e52
or edx, 0x2000
mov eax, edx
and eax, 0xffffdfff
test edx, 0x2000
cmove eax, edx
mov dword [ebp - 0x40], eax
test eax, 0x1000
je 0x10094e74
and eax, 0xffffefff
mov dword [ebp - 0x40], eax
mov edi, dword [0x1012b194]
mov dword [esi + 0x78], edi
mov eax, dword [edi]
mov dword [esi + 0x7c], eax
test eax, eax
je 0x10094f6c
xor ecx, ecx
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10094ebf
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10094ebf
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10094ebf
test eax, 0x100
jne 0x10094ebf
inc ecx
jmp 0x10094e8c
mov dword [esi + 0x84], ecx
test ecx, ecx
je 0x10094f6c
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x80]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10094f2e
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 4
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10094f69
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x84]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x7c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x88], 1
jmp 0x10094f6c
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x88], al
setne al
add eax, 0xe
cmp dword [esi + 0x7c], 0
je 0x10094fd5
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x10094fd5
cmp eax, dword [esi + 0x84]
ja 0x10094fd5
mov edx, dword [ebp - 0x40]
mov dword [ecx + eax*4], 0x100adf10
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x38], 0
je 0x10094fad
or edx, 0x4000
jmp 0x10094fb3
or edx, 0x8000
mov eax, edx
and eax, 0xffff7fff
test edx, 0x8000
cmove eax, edx
mov dword [ebp - 0x40], eax
test eax, 0x4000
je 0x10094fd5
and eax, 0xffffbfff
mov dword [ebp - 0x40], eax
mov edi, dword [0x1012b1d4]
mov dword [esi + 0x14], edi
mov eax, dword [edi]
mov dword [esi + 0x18], eax
test eax, eax
je 0x100950c1
xor ecx, ecx
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10095020
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10095020
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10095020
test eax, 0x100
jne 0x10095020
inc ecx
jmp 0x10094fed
mov dword [esi + 0x20], ecx
test ecx, ecx
je 0x100950c1
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x1c]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10095089
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 5
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x100950be
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x20]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x18]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x24], 1
jmp 0x100950c1
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x18]
xor ecx, ecx
cmp byte [esi + 0x24], cl
mov eax, edx
setne cl
add ecx, 0x10
test edx, edx
je 0x10095131
mov edi, dword [esi + 0x1c]
test edi, edi
je 0x10095131
mov edx, dword [ebp - 0x40]
cmp ecx, dword [esi + 0x20]
ja 0x10095134
mov dword [edi + ecx*4], 0x100a6d80
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x38], eax
cmp dword [eax + 0x40], 0
je 0x100950ff
or edx, 0x10000
jmp 0x10095105
or edx, 0x20000
mov eax, dword [ebp - 0x38]
mov ecx, edx
and ecx, 0xfffdffff
test edx, 0x20000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x10000
je 0x10095134
and edx, 0xfffeffff
mov dword [ebp - 0x40], edx
jmp 0x10095134
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x24], cl
setne cl
add ecx, 0x11
test eax, eax
je 0x100951a0
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x38], edi
mov edi, eax
cmp dword [ebp - 0x38], 0
je 0x100951a0
cmp ecx, dword [esi + 0x20]
ja 0x100951a0
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x100a6d60
mov edi, dword [esi + 0x18]
cmp dword [edi + 0x44], 0
je 0x10095173
or edx, 0x40000
jmp 0x10095179
or edx, 0x80000
mov ecx, edx
and ecx, 0xfff7ffff
test edx, 0x80000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x40000
je 0x100951a0
and edx, 0xfffbffff
mov dword [ebp - 0x40], edx
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x24], cl
setne cl
add ecx, 0x12
test edi, edi
je 0x10095212
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x38], eax
mov eax, edi
cmp dword [ebp - 0x38], 0
je 0x10095212
cmp ecx, dword [esi + 0x20]
ja 0x10095212
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x100a6d10
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x38], eax
cmp dword [eax + 0x48], 0
je 0x100951e2
or edx, 0x100000
jmp 0x100951e8
or edx, 0x200000
mov eax, dword [ebp - 0x38]
mov ecx, edx
and ecx, 0xffdfffff
test edx, 0x200000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x100000
je 0x10095212
and edx, 0xffefffff
mov dword [ebp - 0x40], edx
xor ecx, ecx
cmp byte [esi + 0x24], cl
setne cl
add ecx, 0x2c
test eax, eax
je 0x10095275
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x10095275
cmp ecx, dword [esi + 0x20]
ja 0x10095275
mov dword [eax + ecx*4], 0x100a6cc0
mov eax, dword [esi + 0x18]
cmp dword [eax + 0xb0], 0
je 0x10095248
or edx, 0x400000
jmp 0x1009524e
or edx, 0x800000
mov ecx, edx
and ecx, 0xff7fffff
test edx, 0x800000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x400000
je 0x10095275
and edx, 0xffbfffff
mov dword [ebp - 0x40], edx
mov edi, dword [0x1012b188]
mov dword [esi + 0x8c], edi
mov eax, dword [edi]
mov dword [esi + 0x90], eax
test eax, eax
je 0x10095379
xor ecx, ecx
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100952c9
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x100952c9
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x100952c9
test eax, 0x100
jne 0x100952c9
inc ecx
jmp 0x10095293
mov dword [esi + 0x98], ecx
test ecx, ecx
je 0x10095379
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x94]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10095338
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 6
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10095376
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x98]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x90]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x9c], 1
jmp 0x10095379
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x90]
xor eax, eax
cmp byte [esi + 0x9c], al
mov edi, ecx
setne al
add eax, 0x43
test ecx, ecx
je 0x100953ef
mov edx, dword [esi + 0x94]
test edx, edx
je 0x100953ef
cmp eax, dword [esi + 0x98]
ja 0x100953ef
mov dword [edx + eax*4], 0x100a4070
mov edi, dword [esi + 0x90]
mov edx, dword [ebp - 0x40]
cmp dword [edi + 0x10c], 0
je 0x100953c6
or edx, 0x1000000
jmp 0x100953cc
or edx, 0x2000000
mov ecx, edx
and ecx, 0xfdffffff
test edx, 0x2000000
cmove ecx, edx
mov edx, ecx
test edx, 0x1000000
je 0x100953f2
and edx, 0xfeffffff
jmp 0x100953f2
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov dword [ebp - 0x38], edi
cmp byte [esi + 0x9c], cl
setne cl
add ecx, 0x52
test edi, edi
je 0x1009545c
mov eax, dword [esi + 0x94]
mov dword [ebp - 0x38], edi
test eax, eax
je 0x1009545c
cmp ecx, dword [esi + 0x98]
ja 0x1009545f
mov dword [eax + ecx*4], 0x100a40f0
mov edi, dword [esi + 0x90]
cmp dword [edi + 0x148], 0
je 0x1009543a
or edx, 0x4000000
jmp 0x10095440
or edx, 0x8000000
mov ecx, edx
and ecx, 0xf7ffffff
test edx, 0x8000000
cmove ecx, edx
test ecx, 0x4000000
cmovne edi, edi
jmp 0x1009545f
mov edi, dword [ebp - 0x38]
xor eax, eax
cmp byte [esi + 0x9c], al
setne al
add eax, 0x74
test edi, edi
je 0x1009548a
mov ecx, dword [esi + 0x94]
test ecx, ecx
je 0x1009548a
cmp eax, dword [esi + 0x98]
ja 0x1009548a
mov dword [ecx + eax*4], 0x100a40c0
mov edi, dword [0x1012b1a8]
mov dword [esi + 0xdc], edi
mov eax, dword [edi]
mov dword [esi + 0xe0], eax
test eax, eax
je 0x1009558e
xor ecx, ecx
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100954de
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x100954de
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x100954de
test eax, 0x100
jne 0x100954de
inc ecx
jmp 0x100954a8
mov dword [esi + 0xe8], ecx
test ecx, ecx
je 0x1009558e
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0xe4]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1009554d
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 7
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x1009558b
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xe8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xe0]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0xec], 1
jmp 0x1009558e
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0xec], al
setne al
add eax, 0x15
cmp dword [esi + 0xe0], 0
je 0x100955be
mov ecx, dword [esi + 0xe4]
test ecx, ecx
je 0x100955be
cmp eax, dword [esi + 0xe8]
ja 0x100955be
mov dword [ecx + eax*4], 0x1008c760
mov edi, dword [0x1012b1a0]
mov dword [esi + 0xc8], edi
mov eax, dword [edi]
mov dword [esi + 0xcc], eax
test eax, eax
je 0x100956c2
xor ecx, ecx
mov eax, dword [esi + 0xcc]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10095612
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10095612
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10095612
test eax, 0x100
jne 0x10095612
inc ecx
jmp 0x100955dc
mov dword [esi + 0xd4], ecx
test ecx, ecx
je 0x100956c2
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0xd0]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10095681
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 8
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x100956bf
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xd4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xcc]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0xd8], 1
jmp 0x100956c2
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0xd8], al
setne al
add eax, 9
cmp dword [esi + 0xcc], 0
je 0x10095719
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x10095719
cmp eax, dword [esi + 0xd4]
ja 0x10095719
mov dword [ecx + eax*4], 0x100adf20
mov eax, dword [esi + 0xcc]
mov eax, dword [eax + 0x24]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x44], eax
test al, 2
je 0x1009570f
and eax, 0xfffffffd
mov dword [ebp - 0x44], eax
test al, 1
je 0x10095719
and eax, 0xfffffffe
mov dword [ebp - 0x44], eax
mov edi, dword [0x1012b1fc]
mov dword [esi + 0xf0], edi
mov eax, dword [edi]
mov dword [esi + 0xf4], eax
test eax, eax
je 0x1009581d
xor ecx, ecx
mov eax, dword [esi + 0xf4]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1009576d
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x1009576d
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x1009576d
test eax, 0x100
jne 0x1009576d
inc ecx
jmp 0x10095737
mov dword [esi + 0xfc], ecx
test ecx, ecx
je 0x1009581d
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0xf8]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x100957dc
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 9
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x1009581a
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xfc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xf4]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x100], 1
jmp 0x1009581d
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x100], al
setne al
add eax, 0x2b
cmp dword [esi + 0xf4], 0
je 0x1009587f
mov ecx, dword [esi + 0xf8]
test ecx, ecx
je 0x1009587f
cmp eax, dword [esi + 0xfc]
ja 0x1009587f
mov edx, dword [ebp - 0x44]
mov dword [ecx + eax*4], 0x100520a0
mov eax, dword [esi + 0xf4]
cmp dword [eax + 0xac], 0
je 0x10095864
or edx, 4
jmp 0x10095867
or edx, 8
mov eax, edx
and eax, 0xfffffff7
test dl, 8
cmove eax, edx
mov dword [ebp - 0x44], eax
test al, 4
je 0x1009587f
and eax, 0xfffffffb
mov dword [ebp - 0x44], eax
mov edi, dword [0x1012b1a4]
mov dword [esi + 0x104], edi
mov eax, dword [edi]
mov dword [esi + 0x108], eax
test eax, eax
je 0x10095983
xor ecx, ecx
mov eax, dword [esi + 0x108]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100958d3
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x100958d3
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x100958d3
test eax, 0x100
jne 0x100958d3
inc ecx
jmp 0x1009589d
mov dword [esi + 0x110], ecx
test ecx, ecx
je 0x10095983
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x10c]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10095942
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 0xa
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10095980
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x110]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x108]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x114], 1
jmp 0x10095983
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x108]
xor ecx, ecx
cmp byte [esi + 0x114], cl
mov eax, edx
setne cl
add ecx, 4
test edx, edx
je 0x100959f0
mov edi, dword [esi + 0x10c]
test edi, edi
je 0x100959f0
mov edx, dword [ebp - 0x44]
cmp ecx, dword [esi + 0x110]
ja 0x100959f3
mov dword [edi + ecx*4], 0x100ac0b0
mov eax, dword [esi + 0x108]
mov dword [ebp - 0x38], eax
cmp dword [eax + 0x10], 0
je 0x100959cd
or edx, 0x10
jmp 0x100959d0
or edx, 0x20
mov eax, dword [ebp - 0x38]
mov ecx, edx
and ecx, 0xffffffdf
test dl, 0x20
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x44], edx
test dl, 0x10
je 0x100959f3
and edx, 0xffffffef
mov dword [ebp - 0x44], edx
jmp 0x100959f3
mov edx, dword [ebp - 0x44]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x114], cl
setne cl
add ecx, 6
test eax, eax
je 0x10095a5f
mov edi, dword [esi + 0x10c]
mov dword [ebp - 0x38], edi
mov edi, eax
cmp dword [ebp - 0x38], 0
je 0x10095a5f
cmp ecx, dword [esi + 0x110]
ja 0x10095a5f
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x100ac1c0
mov edi, dword [esi + 0x108]
cmp dword [edi + 0x18], 0
je 0x10095a3b
or edx, 0x40
jmp 0x10095a41
or edx, 0x80
mov ecx, edx
and ecx, 0xffffff7f
test dl, 0x80
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x44], edx
test dl, 0x40
je 0x10095a5f
and edx, 0xffffffbf
mov dword [ebp - 0x44], edx
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x114], cl
setne cl
add ecx, 0x27
test edi, edi
je 0x10095ae0
mov eax, dword [esi + 0x10c]
mov dword [ebp - 0x38], eax
mov eax, edi
cmp dword [ebp - 0x38], 0
je 0x10095ae0
cmp ecx, dword [esi + 0x110]
ja 0x10095ae0
mov eax, dword [ebp - 0x38]
mov dword [eax + ecx*4], 0x100ac180
mov eax, dword [esi + 0x108]
mov dword [ebp - 0x38], eax
cmp dword [eax + 0x9c], 0
je 0x10095ab0
or edx, 0x100
jmp 0x10095ab6
or edx, 0x200
mov eax, dword [ebp - 0x38]
mov ecx, edx
and ecx, 0xfffffdff
test edx, 0x200
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x44], edx
test edx, 0x100
je 0x10095ae0
and edx, 0xfffffeff
mov dword [ebp - 0x44], edx
xor ecx, ecx
cmp byte [esi + 0x114], cl
setne cl
add ecx, 0x28
test eax, eax
je 0x10095b4f
mov eax, dword [esi + 0x10c]
test eax, eax
je 0x10095b4f
cmp ecx, dword [esi + 0x110]
ja 0x10095b4f
mov dword [eax + ecx*4], 0x100ac1a0
mov eax, dword [esi + 0x108]
cmp dword [eax + 0xa0], 0
je 0x10095b22
or edx, 0x400
jmp 0x10095b28
or edx, 0x800
mov ecx, edx
and ecx, 0xfffff7ff
test edx, 0x800
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x44], edx
test edx, 0x400
je 0x10095b4f
and edx, 0xfffffbff
mov dword [ebp - 0x44], edx
mov edi, dword [0x1012b1c4]
mov dword [esi + 0x118], edi
mov eax, dword [edi]
mov dword [esi + 0x11c], eax
test eax, eax
je 0x10095c53
xor ecx, ecx
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10095ba3
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10095ba3
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10095ba3
test eax, 0x100
jne 0x10095ba3
inc ecx
jmp 0x10095b6d
mov dword [esi + 0x124], ecx
test ecx, ecx
je 0x10095c53
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x120]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10095c12
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 0xb
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10095c50
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x124]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x11c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x128], 1
jmp 0x10095c53
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x128], al
setne al
add eax, 0xd
cmp dword [esi + 0x11c], 0
je 0x10095cc2
mov ecx, dword [esi + 0x120]
test ecx, ecx
je 0x10095cc2
cmp eax, dword [esi + 0x124]
ja 0x10095cc2
mov edx, dword [ebp - 0x44]
mov dword [ecx + eax*4], 0x1004d7c0
mov eax, dword [esi + 0x11c]
cmp dword [eax + 0x34], 0
je 0x10095c9a
or edx, 0x1000
jmp 0x10095ca0
or edx, 0x2000
mov eax, edx
and eax, 0xffffdfff
test edx, 0x2000
cmove eax, edx
mov dword [ebp - 0x44], eax
test eax, 0x1000
je 0x10095cc2
and eax, 0xffffefff
mov dword [ebp - 0x44], eax
mov edi, dword [0x1012b1ac]
mov dword [esi + 0x12c], edi
mov eax, dword [edi]
mov dword [esi + 0x130], eax
test eax, eax
je 0x10095dc6
xor ecx, ecx
mov eax, dword [esi + 0x130]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10095d16
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10095d16
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10095d16
test eax, 0x100
jne 0x10095d16
inc ecx
jmp 0x10095ce0
mov dword [esi + 0x138], ecx
test ecx, ecx
je 0x10095dc6
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x134]
mov dword [ebp - 0x38], ecx
push eax
call fcn.100935b0
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10095d85
push fcn.10026750
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 0xc
push 4
push eax
call fcn.100ba283
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100ba3d6
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x38]
mov esi, dword [esi]
test esi, esi
je 0x10095dc3
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x138]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x130]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x13c], 1
jmp 0x10095dc6
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x13c], al
setne al
add eax, 0x15
cmp dword [esi + 0x130], 0
je 0x10095e35
mov ecx, dword [esi + 0x134]
test ecx, ecx
je 0x10095e35
cmp eax, dword [esi + 0x138]
ja 0x10095e35
mov edx, dword [ebp - 0x44]
mov dword [ecx + eax*4], 0x1004dc30
mov eax, dword [esi + 0x130]
cmp dword [eax + 0x54], 0
je 0x10095e0d
or edx, 0x4000
jmp 0x10095e13
or edx, 0x8000
mov eax, edx
and eax, 0xffff7fff
test edx, 0x8000
cmove eax, edx
mov dword [ebp - 0x44], eax
test eax, 0x4000
je 0x10095e35
and eax, 0xffffbfff
mov dword [ebp - 0x44], eax
mov edi, dword [0x1012b304]
mov dword [esi + 0x140], edi
mov eax, dword [edi]
mov dword [esi + 0x144], eax
test eax, eax
je 0x10095ef9
xor ecx, ecx
mov eax, dword [esi + 0x144]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10095e89
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10095e89
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10095e89
test eax, 0x100
jne 0x10095e89
inc ecx
jmp 0x10095e53
mov dword [esi + 0x14c], ecx
test ecx, ecx
je 0x10095ef9
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x148]
push eax
call fcn.100935b0
lea ecx, [ebp - 0x48]
call fcn.10093770
mov esi, dword [esi + 0x148]
test esi, esi
je 0x10095ef6
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x14c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x144]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x150], 1
jmp 0x10095ef9
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x150], al
setne al
add eax, 7
cmp dword [esi + 0x144], 0
je 0x10095f68
mov ecx, dword [esi + 0x148]
test ecx, ecx
je 0x10095f68
cmp eax, dword [esi + 0x14c]
ja 0x10095f68
mov edx, dword [ebp - 0x44]
mov dword [ecx + eax*4], 0x1004d2b0
mov eax, dword [esi + 0x144]
cmp dword [eax + 0x1c], 0
je 0x10095f40
or edx, 0x10000
jmp 0x10095f46
or edx, 0x20000
mov eax, edx
and eax, 0xfffdffff
test edx, 0x20000
cmove eax, edx
mov dword [ebp - 0x44], eax
test eax, 0x10000
je 0x10095f68
and eax, 0xfffeffff
mov dword [ebp - 0x44], eax
mov eax, dword [0x1012be20]
test al, 1
jne 0x10095f8a
or eax, 1
mov dword [0x1012be20], eax
mov esi, dword [0x1012b1ec]
add esi, 8
mov dword [0x1012be1c], esi
jmp 0x10095f90
mov esi, dword [0x1012be1c]
mov edi, dword [ebp - 0x3c]
mov dword [edi + 0x3c], esi
mov eax, dword [esi]
mov dword [edi + 0x40], eax
test eax, eax
je 0x10096038
xor ecx, ecx
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10095fd8
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10095fd8
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10095fd8
test eax, 0x100
jne 0x10095fd8
inc ecx
jmp 0x10095fa5
mov dword [edi + 0x48], ecx
test ecx, ecx
je 0x10096038
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [edi + 0x44]
push eax
call fcn.100935b0
lea ecx, [ebp - 0x48]
call fcn.10093770
mov edi, dword [edi + 0x44]
test edi, edi
je 0x10096033
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x48]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x40]
sub eax, 4
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add edi, 4
mov dword [esi], edi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x4c], 1
jmp 0x1009603a
mov esi, dword [ebp - 0x3c]
jmp 0x1009603a
mov esi, edi
mov ecx, dword [esi + 0x40]
xor eax, eax
cmp byte [esi + 0x4c], al
mov edi, ecx
setne al
add eax, 5
test ecx, ecx
je 0x10096095
mov edx, dword [esi + 0x44]
test edx, edx
je 0x10096095
cmp eax, dword [esi + 0x48]
ja 0x10096095
mov dword [edx + eax*4], 0x1003c4a0
mov edi, dword [esi + 0x40]
mov edx, dword [ebp - 0x44]
cmp dword [edi + 0x14], 0
je 0x10096075
or edx, 0x40000
jmp 0x1009607b
or edx, 0x80000
mov ecx, edx
and ecx, 0xfff7ffff
test edx, 0x80000
cmove ecx, edx
test ecx, 0x40000
cmovne edi, edi
xor eax, eax
cmp byte [esi + 0x4c], al
setne al
add eax, 0x18
test edi, edi
je 0x100960b7
mov ecx, dword [esi + 0x44]
test ecx, ecx
je 0x100960b7
cmp eax, dword [esi + 0x48]
ja 0x100960b7
mov dword [ecx + eax*4], 0x1003c760
push 0x101227e0
call dword [0x1012b318]
mov edi, dword [0x1012b270]
mov dword [esi + 0x690], edi
mov eax, dword [edi]
mov dword [esi + 0x694], eax
test eax, eax
je 0x10096186
xor ecx, ecx
mov eax, dword [esi + 0x694]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10096116
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x10096116
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x10096116
test eax, 0x100
jne 0x10096116
inc ecx
jmp 0x100960e0
mov dword [esi + 0x69c], ecx
test ecx, ecx
je 0x10096186
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x698]
push eax
call fcn.100935b0
lea ecx, [ebp - 0x48]
call fcn.10093770
mov esi, dword [esi + 0x698]
test esi, esi
je 0x10096183
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x69c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x694]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x6a0], 1
jmp 0x10096186
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x6a0], al
setne al
add eax, 0xd
cmp dword [esi + 0x694], 0
je 0x100961b6
mov ecx, dword [esi + 0x698]
test ecx, ecx
je 0x100961b6
cmp eax, dword [esi + 0x69c]
ja 0x100961b6
mov dword [ecx + eax*4], 0x1008c740
mov edi, dword [0x1012b270]
mov dword [esi + 0x154], edi
mov eax, dword [edi]
mov dword [esi + 0x158], eax
test eax, eax
je 0x1009627a
xor ecx, ecx
mov eax, dword [esi + 0x158]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1009620a
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x1009620a
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x1009620a
test eax, 0x100
jne 0x1009620a
inc ecx
jmp 0x100961d4
mov dword [esi + 0x160], ecx
test ecx, ecx
je 0x1009627a
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x15c]
push eax
call fcn.100935b0
lea ecx, [ebp - 0x48]
call fcn.10093770
mov esi, dword [esi + 0x15c]
test esi, esi
je 0x10096277
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x160]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x158]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x164], 1
jmp 0x1009627a
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x164], al
setne al
add eax, 0xd
cmp dword [esi + 0x158], 0
je 0x100962aa
mov ecx, dword [esi + 0x15c]
test ecx, ecx
je 0x100962aa
cmp eax, dword [esi + 0x160]
ja 0x100962aa
mov dword [ecx + eax*4], 0x1008c750
mov edi, dword [0x1012b214]
mov dword [esi + 0x168], edi
mov eax, dword [edi]
mov dword [esi + 0x16c], eax
test eax, eax
je 0x1009636e
xor ecx, ecx
mov eax, dword [esi + 0x16c]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100962fe
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x100962fe
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x100962fe
test eax, 0x100
jne 0x100962fe
inc ecx
jmp 0x100962c8
mov dword [esi + 0x174], ecx
test ecx, ecx
je 0x1009636e
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x170]
push eax
call fcn.100935b0
lea ecx, [ebp - 0x48]
call fcn.10093770
mov esi, dword [esi + 0x170]
test esi, esi
je 0x1009636b
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x174]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x16c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x178], 1
jmp 0x1009636e
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x178], al
setne al
add eax, 0xd
cmp dword [esi + 0x16c], 0
je 0x1009639e
mov ecx, dword [esi + 0x170]
test ecx, ecx
je 0x1009639e
cmp eax, dword [esi + 0x174]
ja 0x1009639e
mov dword [ecx + eax*4], fcn.10049450
mov edi, dword [0x1012b218]
mov dword [esi + 0x17c], edi
mov eax, dword [edi]
mov dword [esi + 0x180], eax
test eax, eax
je 0x10096462
xor ecx, ecx
mov eax, dword [esi + 0x180]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x100963f2
mov eax, dword [0x1012b0d0]
lea ecx, [ebp - 0x30]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x38]
test eax, eax
je 0x100963f2
mov eax, dword [ebp - 0x1c]
test al, 1
jne 0x100963f2
test eax, 0x100
jne 0x100963f2
inc ecx
jmp 0x100963bc
mov dword [esi + 0x188], ecx
test ecx, ecx
je 0x10096462
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.10093640
add esp, 8
lea ecx, [esi + 0x184]
push eax
call fcn.100935b0
lea ecx, [ebp - 0x48]
call fcn.10093770
mov esi, dword [esi + 0x184]
test esi, esi
je 0x1009645f
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x188]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x180]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x18c], 1
jmp 0x10096462
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x18c], al
setne al
add eax, 0xd
cmp dword [esi + 0x180], 0
je 0x10096492
mov ecx, dword [esi + 0x184]
test ecx, ecx
je 0x10096492
cmp eax, dword [esi + 0x188]
ja 0x10096492
mov dword [ecx + eax*4], fcn.10049450
mov eax, dword [0x1012be20]
test al, 2
jne 0x100964c4
or eax, 2
mov dword [0x1012be20], eax
mov eax, dword [0x1012b194]
push 0x100c6ed0
mov eax, dword [eax]
mov eax, dword [eax + 0x4c]
mov dword [0x1012be24], eax
call fcn.100ba6e9
mov eax, dword [0x1012be20]
add esp, 4
test al, 4
jne 0x100964f1
or eax, 4
mov dword [0x1012be20], eax
mov eax, dword [0x1012b174]
push 0x100c6e70
mov eax, dword [eax]
mov eax, dword [eax + 0x54]
mov dword [0x1012be28], eax
call fcn.100ba6e9
mov eax, dword [0x1012be20]
add esp, 4
test al, 8
jne 0x1009651e
or eax, 8
mov dword [0x1012be20], eax
mov eax, dword [0x1012b174]
push 0x100c6ee0
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
mov dword [0x1012be2c], eax
call fcn.100ba6e9
mov eax, dword [0x1012be20]
add esp, 4
test al, 0x10
jne 0x1009654e
or eax, 0x10
mov dword [0x1012be20], eax
mov eax, dword [0x1012b17c]
push 0x100c6e90
mov eax, dword [eax]
mov eax, dword [eax + 0x174]
mov dword [0x1012be30], eax
call fcn.100ba6e9
mov eax, dword [0x1012be20]
add esp, 4
test al, 0x20
jne 0x100965b9
or eax, 0x20
mov dword [0x1012be20], eax
push 0x17
xorps xmm0, xmm0
mov dword [ebp - 4], 0xd
push str.57_8B_F9_8B_07_8B_80_60
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x34]
push 0x1012b12c
push eax
call fcn.10055d20
add esp, 0xc
lea ecx, [ebp - 0x68]
mov eax, dword [eax]
mov dword [0x1012be34], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test al, 0x40
jne 0x10096647
or eax, 0x40
mov dword [0x1012be20], eax
push 0x2f
xorps xmm0, xmm0
mov dword [ebp - 4], 0xf
push str.55_8B_EC_83_E4_F8_83_EC_58_56_57_8B_F9_83_7F_60
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x10
test ecx, ecx
je 0x10096607
mov ecx, dword [ecx + 0x50]
jmp 0x10096609
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x10096617
mov eax, dword [eax + 0x18]
jmp 0x10096619
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be38], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test al, al
js 0x100966d7
or eax, 0x80
mov dword [0x1012be20], eax
push 0x33
xorps xmm0, xmm0
mov dword [ebp - 4], 0x11
push str.55_8B_EC_83_E4_F0_B8_________E8_________56_57_8B_F9
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x10096697
mov ecx, dword [ecx + 0x50]
jmp 0x10096699
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x100966a7
mov eax, dword [eax + 0x18]
jmp 0x100966a9
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be3c], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x100
jne 0x1009676a
or eax, 0x100
mov dword [0x1012be20], eax
push 0x32
xorps xmm0, xmm0
mov dword [ebp - 4], 0x13
push str.55_8B_EC_83_E4_F8_81_EC_FC_00_00_00_53_56_8B_F1_57
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x14
test ecx, ecx
je 0x1009672a
mov ecx, dword [ecx + 0x50]
jmp 0x1009672c
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x1009673a
mov eax, dword [eax + 0x18]
jmp 0x1009673c
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be40], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x200
jne 0x100967fd
or eax, 0x200
mov dword [0x1012be20], eax
push 0x2a
xorps xmm0, xmm0
mov dword [ebp - 4], 0x15
push str.55_8B_EC_51_56_8B_F1_80_BE___________74_36
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x16
test ecx, ecx
je 0x100967bd
mov ecx, dword [ecx + 0x50]
jmp 0x100967bf
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x100967cd
mov eax, dword [eax + 0x18]
jmp 0x100967cf
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be44], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x400
jne 0x10096890
or eax, 0x400
mov dword [0x1012be20], eax
push 0x28
xorps xmm0, xmm0
mov dword [ebp - 4], 0x17
push str.55_8B_EC_A1_________83_EC_10_56_8B_F1_B9
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x18
test ecx, ecx
je 0x10096850
mov ecx, dword [ecx + 0x50]
jmp 0x10096852
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x10096860
mov eax, dword [eax + 0x18]
jmp 0x10096862
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be48], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x800
jne 0x10096923
or eax, 0x800
mov dword [0x1012be20], eax
push 0x14
xorps xmm0, xmm0
mov dword [ebp - 4], 0x19
push str.56_8B_F1_85_F6_74_32
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x1a
test ecx, ecx
je 0x100968e3
mov ecx, dword [ecx + 0x50]
jmp 0x100968e5
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x100968f3
mov eax, dword [eax + 0x18]
jmp 0x100968f5
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be4c], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x1000
jne 0x100969b6
or eax, 0x1000
mov dword [0x1012be20], eax
push 0x17
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1b
push str.55_8B_EC_51_8B_45_14_56
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x1c
test ecx, ecx
je 0x10096976
mov ecx, dword [ecx + 0x50]
jmp 0x10096978
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x10096986
mov eax, dword [eax + 0x18]
jmp 0x10096988
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be50], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x2000
jne 0x10096a49
or eax, 0x2000
mov dword [0x1012be20], eax
push 0x29
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1d
push str.55_8B_EC_83_E4_F0_83_EC_78_56_8B_F1_57_8B
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b134]
mov byte [ebp - 4], 0x1e
test ecx, ecx
je 0x10096a09
mov ecx, dword [ecx + 0x50]
jmp 0x10096a0b
xor ecx, ecx
mov eax, dword [0x1012b12c]
test eax, eax
je 0x10096a19
mov eax, dword [eax + 0x18]
jmp 0x10096a1b
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be54], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x4000
jne 0x10096adc
or eax, 0x4000
mov dword [0x1012be20], eax
push 0x30
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1f
push str.55_8B_EC_81_EC_________53_56_57_8B_3D_________8A
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b14c]
mov byte [ebp - 4], 0x20
test ecx, ecx
je 0x10096a9c
mov ecx, dword [ecx + 0x50]
jmp 0x10096a9e
xor ecx, ecx
mov eax, dword [0x1012b144]
test eax, eax
je 0x10096aac
mov eax, dword [eax + 0x18]
jmp 0x10096aae
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be58], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x8000
jne 0x10096b6f
or eax, 0x8000
mov dword [0x1012be20], eax
push 0x3f
xorps xmm0, xmm0
mov dword [ebp - 4], 0x21
push str.55_8B_EC_83_E4_F0_B8_________E8_________56_57_8B_F9_89_7C_24_18
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b14c]
mov byte [ebp - 4], 0x22
test ecx, ecx
je 0x10096b2f
mov ecx, dword [ecx + 0x50]
jmp 0x10096b31
xor ecx, ecx
mov eax, dword [0x1012b144]
test eax, eax
je 0x10096b3f
mov eax, dword [eax + 0x18]
jmp 0x10096b41
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be5c], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x10000
jne 0x10096c02
or eax, 0x10000
mov dword [0x1012be20], eax
push 0x3b
xorps xmm0, xmm0
mov dword [ebp - 4], 0x23
push str.55_8B_EC_83_E4_C0_81_EC_B4_00_00_00_53_56_57_8B_7D_08_8B_D9
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
mov ecx, dword [0x1012b14c]
mov byte [ebp - 4], 0x24
test ecx, ecx
je 0x10096bc2
mov ecx, dword [ecx + 0x50]
jmp 0x10096bc4
xor ecx, ecx
mov eax, dword [0x1012b144]
test eax, eax
je 0x10096bd2
mov eax, dword [eax + 0x18]
jmp 0x10096bd4
xor eax, eax
lea edx, [ebp - 0x68]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
mov eax, dword [ebp - 0x48]
lea ecx, [ebp - 0x68]
add esp, 0x10
mov dword [0x1012be60], eax
call fcn.1002a350
mov eax, dword [0x1012be20]
mov dword [ebp - 4], 0xffffffff
test eax, 0x20000
jne 0x10096c70
or eax, 0x20000
mov dword [0x1012be20], eax
push 0xc4
xorps xmm0, xmm0
mov dword [ebp - 4], 0x25
push str.55_8B_EC_56_8B_F1_8B_86_________85_C0_74_24_48_83_F8_02_77_2C_83_BE___________8D_8E_________74_06_32_C0_84_C0_EB_10_E8_________84_C0_EB_07_83_BE___________0F_94_C0_84_C0_74_07_B0_01_5E_5D_C2_0C_00
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x58], 0
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.10027040
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x34]
push 0x1012b144
push eax
call fcn.10055d20
add esp, 0xc
lea ecx, [ebp - 0x68]
mov eax, dword [eax]
mov dword [0x1012be64], eax
call fcn.1002a350
mov dword [ebp - 4], 0xffffffff
call fcn.1004ed60
push 0x1012b724
push 0x1009b4b0
push dword [0x1012be30]
call fcn.1004eb30
push 0x1012b71c
push 0x100a9d50
push dword [0x1012be5c]
call fcn.1004eb30
push 0x1012b720
push 0x100a9d00
push dword [0x1012be60]
call fcn.1004eb30
push 0x1012b704
push 0x10094070
push dword [0x1012be58]
call fcn.1004eb30
push 0x1012b718
push 0x100944e0
push dword [0x1012be2c]
call fcn.1004eb30
push 0x1012b714
push 0x100add60
push dword [0x1012be24]
call fcn.1004eb30
push 0x1012b710
push 0x100940b0
push dword [0x1012be54]
call fcn.1004eb30
push 0x1012b708
push 0x100943b0
push dword [0x1012be50]
call fcn.1004eb30
push 0x1012b6f4
push 0x100940d0
push dword [0x1012be4c]
call fcn.1004eb30
push 0x1012b6fc
push 0x10094090
push dword [0x1012be48]
call fcn.1004eb30
push 0x1012b700
push 0x10094490
push dword [0x1012be44]
call fcn.1004eb30
push 0x1012b70c
push 0x100940c0
push dword [0x1012be40]
call fcn.1004eb30
push 0x1012b6f0
push method.std::codecvt_utf8_wchar_t__1114111__0_.virtual_12
push dword [0x1012be34]
call fcn.1004eb30
push 0x1012b6f8
push 0x100943c0
push dword [0x1012be38]
call fcn.1004eb30
push 0x10128a1c
push 0x100943d0
push dword [0x1012be3c]
call fcn.1004eb30
push 0x1012b6ec
push 0x100a6cf0
push dword [0x1012be28]
call fcn.1004eb30
push 0xc4
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.55_8B_EC_56_8B_F1_8B_86_________85_C0_74_24_48_83_F8_02_77_2C_83_BE___________8D_8E_________74_06_32_C0_84_C0_EB_10_E8_________84_C0_EB_07_83_BE___________0F_94_C0_84_C0_74_07_B0_01_5E_5D_C2_0C_00
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.10027040
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 0x27
push 0x38450191
push eax
call fcn.10048c70
add esp, 8
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x10096e10
mov ecx, dword [ecx + 0x50]
jmp 0x10096e12
xor ecx, ecx
mov eax, dword [eax]
test eax, eax
je 0x10096e1d
mov eax, dword [eax + 0x18]
jmp 0x10096e1f
xor eax, eax
lea edx, [ebp - 0x2c]
push edx
push ecx
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.1002f290
add esp, 0x10
push 0x1012b078
push 0x1004f120
push dword [ebp - 0x48]
call fcn.1004eb30
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xffffffff
call fcn.1002a350
push 0
call fcn.1004ed40
lea eax, [ebp - 0x14]
mov dword [ebp - 0x34], 0x566bd764
push eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x14], 0x2aafa737
push eax
mov ecx, 0x1012b550
call fcn.100528a0
mov ecx, dword [eax]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x70]
add ecx, 0xc
push eax
call fcn.100526a0
mov eax, dword [eax]
movq xmm0, qword [eax + 0xc]
movq qword [ebp - 0x50], xmm0
cmp byte [ebp - 0x50], 0
jne 0x10096eb0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x20]
mov dword [esi + 0x6b4], eax
mov dword [ecx + 0x20], 0x10093f40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100ba6fe
mov esp, ebp
pop ebp
ret