Function at 0x445853
Capabilities:
Access peb ldr_data
Create thread
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
mov eax, dword [0x49400c]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
push 4
call fcn.0044d263
pop ecx
lea ecx, [esp + 0x1c]
xor ebx, ebx
push ecx
push ebx
push eax
push 0x44659a
push ebx
push ebx
mov dword [eax], 0x40116c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x18
mov dword [esp + 0x18], eax
test eax, eax
je 0x446398
cmp dword [esp + 0x1c], ebx
je 0x446390
push dword [esp + 0x1c]
push eax
call dword [sym.imp.MSVCP140.dll__Thrd_detach]
pop ecx
pop ecx
test eax, eax
jne 0x446390
mov eax, dword [0x494920]
mov dword [esp + 0x20], 0x30
mov dword [esp + 0x24], 0x40
mov dword [esp + 0x28], 0x4463a0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
test eax, eax
jne 0x445989
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x445969
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x445969
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x9437f739
dec ebx
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445965
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x44593e
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x8126d228
mov edx, dword [eax + 0x18]
je 0x44596d
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x445914
mov eax, dword [eax]
jmp 0x4458f5
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
xor ebx, ebx
mov dword [0x494920], eax
push ebx
call eax
mov dword [esp + 0x34], eax
xorps xmm0, xmm0
mov eax, dword [0x4948fc]
mov dword [esp + 0x48], str.__ERIS_External_by_Tomson___
mov dword [esp + 0x4c], ebx
movups xmmword [esp + 0x38], xmm0
test eax, eax
jne 0x445a4f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x445a31
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x445a31
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x8f35b0c3
dec ebx
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445a2d
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x445a06
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x99991a26
mov edx, dword [eax + 0x18]
je 0x445a35
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x4459dc
mov eax, dword [eax]
jmp 0x4459bd
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x4948fc], eax
lea ecx, [esp + 0x20]
push ecx
call eax
mov eax, dword [0x494914]
test eax, eax
jne 0x445b01
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x445ae3
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x445ae3
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x203084d8
dec ebx
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445adf
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x445ab8
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x1bca1ec
mov edx, dword [eax + 0x18]
je 0x445ae7
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x445a8e
mov eax, dword [eax]
jmp 0x445a6f
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x494914], eax
xor esi, esi
push esi
push dword [esp + 0x38]
push esi
push esi
push 5
push 5
push esi
push esi
push 0x80000000
push str.__ERIS_External_by_Tomson___
push dword [esp + 0x70]
push esi
call eax
mov dword [0x494910], eax
call fcn.004456bf
test al, al
jne 0x445c04
call fcn.004457ea
mov eax, dword [0x49490c]
test eax, eax
jne 0x445be3
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
add esi, edx
cmp esi, edx
je 0x445bc5
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x445bc5
mov ecx, dword [esi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x9126a95f
dec ebx
mov dword [esp + 0x14], ecx
mov edi, dword [ecx]
add edi, edx
mov dl, byte [edi]
inc edi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445bc1
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x445b9a
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x3cc5a006
mov edx, dword [eax + 0x18]
je 0x445bc9
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x445b70
mov eax, dword [eax]
jmp 0x445b51
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x49490c], eax
push dword [esp + 0x34]
push dword [esp + 0x4c]
call eax
xor eax, eax
inc eax
mov ecx, dword [esp + 0x7c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0044cc96
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [0x494900]
test eax, eax
jne 0x445cb1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x445c91
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x445c91
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x85bfd211
dec ebx
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445c8d
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x445c66
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0xd30a7964
mov edx, dword [eax + 0x18]
je 0x445c95
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x445c3c
mov eax, dword [eax]
jmp 0x445c1d
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
xor esi, esi
mov dword [0x494900], eax
push esi
push dword [0x494910]
call eax
mov eax, dword [0x49492c]
test eax, eax
jne 0x445d67
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x445d47
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x445d47
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x84cc9c71
dec ebx
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445d43
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x445d1c
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x61a67ac
mov edx, dword [eax + 0x18]
je 0x445d4b
mov ecx, dword [esp + 0x14]
test ebx, ebx
jne 0x445cf2
mov eax, dword [eax]
jmp 0x445cd3
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
xor esi, esi
mov dword [0x49492c], eax
push dword [0x494910]
call eax
call fcn.00407e51
call fcn.00407efb
movss xmm3, dword [0x490938]
mov ebx, eax
push esi
push esi
push ecx
mov ecx, dword [ebx + 0x90]
mov edi, 0x400
or dword [ebx], edi
push 0x45ab28
mov dword [esp + 0x24], ebx
mov dword [ebx + 0x18], esi
call fcn.00429ec2
call fcn.004063bb
test dword [ebx], edi
je 0x445dbb
and dword [eax + 0xc], 0
mov dword [eax + 0xf0], 0x3f800000
movss xmm0, dword [0x490838]
and dword [eax + 0xc], 0
and dword [eax + 0x28], 0
and dword [eax + 0x40], 0
and dword [eax + 0x30], 0
and dword [eax + 0x74], 0
and dword [eax + 0x7c], 0
and dword [eax + 0x84], 0
movss dword [eax + 0x1c], xmm0
movss dword [eax + 0x20], xmm0
mov dword [eax + 0x44], 0x3f800000
call fcn.0042f0f4
call fcn.0042eb01
push 7
pop ecx
xor eax, eax
lea edi, [esp + 0x60]
rep stosd dword es:[edi], eax
mov eax, dword [0x4948f8]
test eax, eax
jne 0x445eb9
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
add esi, edx
cmp esi, edx
je 0x445e95
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x445e95
mov ecx, dword [esi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x2aa9efee
dec ebx
mov dword [esp + 0x18], ecx
mov edi, dword [ecx]
add edi, edx
mov dl, byte [edi]
inc edi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445e91
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x445e6a
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x95ced1b3
mov edx, dword [eax + 0x18]
je 0x445e99
mov ecx, dword [esp + 0x18]
test ebx, ebx
jne 0x445e40
mov eax, dword [eax]
jmp 0x445e21
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
mov ebx, dword [esp + 0x14]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
xor esi, esi
mov dword [0x4948f8], eax
push 1
push esi
push esi
push esi
lea ecx, [esp + 0x70]
push ecx
call eax
test eax, eax
je 0x446043
mov eax, dword [0x4948f0]
test eax, eax
jne 0x445f78
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
add esi, edx
cmp esi, edx
je 0x445f5a
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x445f5a
mov ecx, dword [esi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x3717e1c2
dec ebx
mov dword [esp + 0x18], ecx
mov edi, dword [ecx]
add edi, edx
mov dl, byte [edi]
inc edi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x445f56
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x445f2f
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x5bcea117
mov edx, dword [eax + 0x18]
je 0x445f5e
mov ecx, dword [esp + 0x18]
test ebx, ebx
jne 0x445f05
mov eax, dword [eax]
jmp 0x445ee6
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x4948f0], eax
lea ecx, [esp + 0x60]
push ecx
call eax
mov eax, dword [0x494904]
test eax, eax
jne 0x44602a
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
add esi, edx
cmp esi, edx
je 0x44600c
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x44600c
mov ecx, dword [esi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0xa61226d6
dec ebx
mov dword [esp + 0x18], ecx
mov edi, dword [ecx]
add edi, edx
mov dl, byte [edi]
inc edi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x446008
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x445fe1
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0xa239f522
mov edx, dword [eax + 0x18]
je 0x446010
mov ecx, dword [esp + 0x18]
test ebx, ebx
jne 0x445fb7
mov eax, dword [eax]
jmp 0x445f98
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x494904], eax
lea ecx, [esp + 0x60]
push ecx
call eax
mov eax, dword [esp + 0x64]
xor esi, esi
mov ebx, dword [esp + 0x14]
push 0x12
pop ecx
jmp 0x4461c1
cmp dword [0x4948a4], 0
jne 0x446051
call fcn.0042ed0f
call fcn.0042f8d3
call fcn.00409301
cmp dword [0x494908], 0
jne 0x4460fe
xor ecx, ecx
call fcn.00425e05
movss xmm0, dword [0x494250]
ucomiss xmm0, dword [0x4907c0]
lahf
test ah, 0x44
jp 0x4460f2
xor eax, eax
lea edi, [esp + 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
movd xmm1, dword [esp + 0x58]
movd xmm0, dword [esp + 0x5c]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
movss dword [0x494248], xmm1
subss xmm1, dword [0x494258]
movss dword [0x49424c], xmm0
subss xmm0, dword [0x49425c]
mulss xmm1, dword [0x490838]
mulss xmm0, dword [0x490838]
movss dword [0x494250], xmm1
movss dword [0x494254], xmm0
mov dword [0x494908], 1
jmp 0x446103
call fcn.0044781d
call fcn.0040a8dc
mov eax, dword [0x495d34]
push esi
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push esi
push 3
push esi
push esi
push eax
call dword [ecx + 0xac]
mov eax, dword [0x495d34]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x44616c
call fcn.0040ab9b
mov ecx, dword [0x494848]
push esi
lea ecx, [ecx + 0x1dd0]
call fcn.0041f719
xor ecx, ecx
mov eax, dword [eax]
sub eax, 0xffffff80
cmp byte [eax], cl
cmovne ecx, eax
call fcn.0042e5ed
mov eax, dword [0x495d34]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa8]
test dword [ebx], 0x400
je 0x44617e
call fcn.004186ba
call fcn.00418a14
mov ecx, dword [0x495d34]
push esi
push esi
push esi
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x4461ac
mov eax, dword [0x495d34]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x4461ac
call fcn.00445819
mov eax, dword [esp + 0x64]
cmp byte [0x494080], 0
push 0x12
pop ecx
cmove eax, ecx
mov dword [esp + 0x64], eax
cmp eax, ecx
jne 0x445e08
call fcn.00418d9a
call fcn.0042ed62
mov ecx, dword [0x4948ac]
test ecx, ecx
je 0x4461e9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x4948ac], esi
call fcn.0042f269
mov esi, dword [0x494848]
mov ecx, esi
call fcn.00409e0e
cmp dword [0x494848], esi
jne 0x44620a
and dword [0x494848], 0
test esi, esi
je 0x44621c
mov ecx, esi
call fcn.00420794
mov ecx, esi
call fcn.00407e1a
call fcn.004457ea
mov eax, dword [0x494924]
test eax, eax
jne 0x4462cc
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov edi, dword [ecx + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x4462ae
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x4462ae
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x5b2b9275
dec ebx
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
add esi, edx
mov dl, byte [esi]
inc esi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x4462aa
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [esi]
inc esi
test cl, cl
jne 0x446283
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0x5c8fd1ed
mov edx, dword [eax + 0x18]
je 0x4462b2
mov ecx, dword [esp + 0x18]
test ebx, ebx
jne 0x446259
mov eax, dword [eax]
jmp 0x44623a
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x494924], eax
push dword [0x494910]
call eax
mov eax, dword [0x494918]
test eax, eax
jne 0x44637f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
add esi, edx
cmp esi, edx
je 0x446361
mov ebx, dword [esi + 0x18]
test ebx, ebx
je 0x446361
mov ecx, dword [esi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
sub ecx, 4
mov dword [esp + 0x10], 0x6999876f
dec ebx
mov dword [esp + 0x18], ecx
mov edi, dword [ecx]
add edi, edx
mov dl, byte [edi]
inc edi
mov byte [esp + 0xf], dl
test dl, dl
mov edx, dword [eax + 0x18]
je 0x44635d
mov cl, byte [esp + 0xf]
mov edx, dword [esp + 0x10]
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x446336
mov dword [esp + 0x10], edx
cmp dword [esp + 0x10], 0xb0513836
mov edx, dword [eax + 0x18]
je 0x446365
mov ecx, dword [esp + 0x18]
test ebx, ebx
jne 0x44630c
mov eax, dword [eax]
jmp 0x4462ed
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
mov dword [0x494918], eax
push dword [esp + 0x34]
push dword [esp + 0x4c]
call eax
xor eax, eax
jmp 0x445bf0
push 1
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
mov dword [esp + 0x1c], ebx
push 6
jmp 0x446392