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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x310
mov esi, esp
mov dword [esi + 0x2f8], ebp
mov dword [esi + 0x2fc], esp
mov dword [esi + 0x308], 0xffffffff
mov dword [esi + 0x304], 0x5381f0
mov dword [esi + 0x38], ecx
lea ecx, [esi + 0x2a8]
mov eax, dword fs:[0]
mov dword [esi + 0x300], eax
lea eax, [esi + 0x300]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x2a0], edx
mov dword [esi + 0x2a8], 0x2f
mov dword [esi + 0x2ac], edx
mov dword [esi + 0x1a4], 0
mov dword [esi + 0x1a8], 4
mov dword [esi + 0x1ac], 0
mov dword [esi + 0x308], 0
mov dword [esi + 0x2b0], eax
mov dword [esi + 0x2b4], 0
mov dword [esi + 0x2b8], eax
mov dword [esi + 0x2bc], 1
mov dword [esi + 0x2c0], 0x2f
mov dword [esi + 0x2c4], 0
mov dword [esi + 0x2c8], eax
mov dword [esi + 0x2a4], eax
mov word [esi + 0x2cc], 1
call fcn.00461b40
mov dword [esi + 4], eax
mov dword [esi + 0x10], edx
lea ecx, [esi + 0x2a8]
call fcn.00461b40
mov dword [esi + 0x3c], eax
mov dword [esi + 0xa0], edx
lea ecx, [esi + 0x2a8]
call fcn.00461b40
test eax, eax
je 0x45ed12
lea ecx, [esi + 0x1d8]
lea eax, [esi + 0x2a0]
mov dword [esi + 0xd8], 0x552534
mov dword [esi + 0xdc], 2
mov dword [esi + 0xe8], 0
mov dword [esi + 0xe0], ecx
lea ecx, [esi + 0xd8]
mov dword [esi + 0x1d8], eax
mov dword [esi + 0x1dc], 0x4e7140
mov dword [esi + 0xe4], 1
call fcn.0051a680
movsd xmm0, qword [esi + 0x1a4]
mov eax, dword [esi + 0x1ac]
xor edi, edi
mov dword [esi + 0xe0], eax
movsd qword [esi + 0xd8], xmm0
jmp 0x460b90
mov eax, dword [esi + 4]
test eax, eax
je 0x45f026
mov dword [esi + 0x1d8], 0x2c
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x10]
xor edx, edx
mov ecx, 4
mov dword [esi + 0x1e0], eax
mov dword [esi + 0x1e4], 0
mov dword [esi + 0x1e8], eax
mov dword [esi + 0x1ec], 1
mov dword [esi + 0x1f0], 0x2c
mov dword [esi + 0x1f4], 0
mov dword [esi + 0x1f8], eax
mov word [esi + 0x1fc], 1
mov dword [esi + 0x6c], ecx
mov dword [esi + 0x68], edx
mov dword [esi + 0x308], 0
jmp 0x45ede9
test eax, eax
je 0x45ef58
lea ecx, [esi + 0x268]
lea eax, [esi + 0xb4]
mov dword [esi + 0x158], 0x552554
mov dword [esi + 0x15c], 2
mov dword [esi + 0x168], 0
mov dword [esi + 0x160], ecx
lea ecx, [esi + 0x158]
mov dword [esi + 0x268], eax
mov dword [esi + 0x26c], 0x4e7140
mov dword [esi + 0x164], 1
call fcn.0051a680
lea ecx, [esi + 0x1d8]
call fcn.00461b40
test eax, eax
je 0x45f026
mov ecx, eax
call fcn.00461f20
test eax, eax
je 0x45f026
test edx, edx
mov dword [esi + 0xb4], eax
mov dword [esi + 0xb8], edx
je 0x45ede9
lea ecx, [esi + 0xd8]
mov dword [esi + 0xd8], 0x3d
mov dword [esi + 0xdc], eax
mov dword [esi + 0xe0], edx
mov dword [esi + 0xe4], 0
mov dword [esi + 0xe8], edx
mov dword [esi + 0xec], 1
mov dword [esi + 0xf0], 0x3d
mov dword [esi + 0xf4], 0
mov dword [esi + 0xf8], edx
mov word [esi + 0xfc], 1
call fcn.00461b40
mov dword [esi + 4], eax
mov dword [esi + 8], edx
lea ecx, [esi + 0xd8]
call fcn.00461b40
test eax, eax
je 0x45eeb0
mov ecx, eax
call fcn.00461f20
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], edx
lea ecx, [esi + 0xd8]
call fcn.00461b40
jmp 0x45eec2
mov dword [esi + 0x10], 0
lea ecx, [esi + 0xd8]
call fcn.00461b40
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x45ed94
cmp dword [esi + 0x10], 0
je 0x45ed8c
test eax, eax
jne 0x45ed94
mov edx, dword [esi + 0xc]
test edx, edx
je 0x45ef7a
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], edx
call fcn.00469cc0
cmp eax, 6
jne 0x45ef81
lea ecx, [esi + 0x268]
lea eax, [esi + 0x14]
mov dword [esi + 0x158], 0x552554
mov dword [esi + 0x15c], 2
mov dword [esi + 0x168], 0
mov dword [esi + 0x160], ecx
lea ecx, [esi + 0x158]
mov dword [esi + 0x268], eax
mov dword [esi + 0x26c], 0x4e7140
mov dword [esi + 0x164], 1
call fcn.0051a680
jmp 0x45ede9
mov edi, dword [esi + 8]
mov ecx, ebx
mov edx, edi
call fcn.00469cc0
mov ecx, 5
cmp eax, 6
je 0x45ef86
mov dword [esi + 8], 0x80000000
mov dword [esi + 0x10], eax
jmp 0x45efc8
mov ecx, 5
jmp 0x45ef83
mov ecx, eax
mov edi, dword [esi + 8]
test edi, edi
mov dword [esi + 0x10], ecx
je 0x45efaf
js 0x460f66
movzx eax, byte [0x5b9430]
mov edi, dword [esi + 8]
xor ecx, ecx
mov edx, edi
call fcn.0051b940
test eax, eax
jne 0x45efb4
jmp 0x460f70
mov eax, 1
push edi
push ebx
mov dword [esi + 0x70], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x8c], edi
mov edx, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
cmp edx, dword [esi + 0x1a4]
jne 0x45eff7
lea ecx, [esi + 0x1a4]
mov dword [esi + 0x308], 0x1c
call fcn.00480360
mov ecx, dword [esi + 0x1a8]
mov edx, dword [esi + 0x1ac]
mov edi, dword [esi + 0x10]
mov eax, edx
mov ebx, dword [esi + 0x8c]
inc edx
shl eax, 4
mov dword [ecx + eax], edi
mov edi, dword [esi + 8]
mov dword [ecx + eax + 4], edi
mov edi, dword [esi + 0x70]
mov dword [ecx + eax + 8], edi
mov dword [ecx + eax + 0xc], ebx
mov dword [esi + 0x1ac], edx
jmp 0x45ed7a
cmp dword [esi + 0x3c], 0
je 0x45f13a
movdqa xmm0, xmmword [0x547650]
lea ecx, [esi + 0x11c]
mov dword [esi + 0x11c], 0
mov dword [esi + 0x120], 4
mov dword [esi + 0x124], 0
mov dword [esi + 0x308], 0x19
movdqu xmmword [esi + 0xd8], xmm0
mov dword [esi + 0xe8], 2
mov dword [esi + 0xf0], 2
mov dword [esi + 0xf8], 2
mov byte [esi + 0x10c], 3
mov byte [esi + 0x110], 0
mov dword [esi + 0x116], 0x2020202
mov dword [esi + 0x112], 0x2020202
mov byte [esi + 0x11a], 3
mov dword [esi + 0x128], 0xfa
mov byte [esi + 0x12c], 0xa
mov dword [esi + 0x12d], 0
mov dword [esi + 0x131], 0x1010000
mov byte [esi + 0x135], 0
call fcn.0053ff00
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 0x120]
mov ebx, dword [esi + 0x124]
test edx, edx
je 0x45f141
mov dword [esi + 4], ecx
js 0x460efd
movzx eax, byte [0x5b9430]
xor ecx, ecx
call fcn.0051b940
test eax, eax
je 0x460f07
mov edi, eax
push dword [esi + 0xa0]
push dword [esi + 0x3c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [esi + 0xa0]
mov ecx, dword [esi + 4]
jmp 0x45f146
xor edi, edi
jmp 0x460b74
mov edi, 1
lea eax, [ebx + ebx*2]
inc ebx
mov dword [ecx + eax*4], edx
mov dword [ecx + eax*4 + 4], edi
mov dword [ecx + eax*4 + 8], edx
mov dword [esi + 0x124], ebx
lea eax, [esi + 0xd8]
lea ecx, [esi + 0x1d8]
push 0x60
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x224]
cmp eax, 1
mov dword [esi + 0x158], eax
jne 0x460e75
movzx ecx, byte [esi + 0x20c]
movzx eax, byte [esi + 0x214]
cmp cl, 3
mov byte [esi + 0x6c], al
mov byte [esi + 4], cl
je 0x45f1a7
cmp byte [esi + 4], 2
jne 0x45f1a9
jmp 0x45f1d6
mov ecx, dword [esi + 0x200]
mov eax, dword [esi + 0x204]
mov dword [esi + 0x23c], eax
mov dword [esi + 0x1b0], ecx
lock inc dword [ecx]
jle 0x461139
mov eax, dword [esi + 0x208]
mov dword [esi + 0x240], eax
mov ecx, dword [esi + 0x1e0]
xor eax, eax
mov edi, dword [esi + 0x1f8]
test ecx, ecx
mov dword [esi + 0x260], ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x1e8]
mov dword [esi + 0x70], eax
xor eax, eax
test ecx, ecx
mov dword [esi + 0x25c], ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov ecx, dword [esi + 0x1f0]
mov dword [esi + 0x8c], eax
xor eax, eax
test ecx, ecx
setne al
cmp ecx, 2
cmove eax, ecx
mov dword [esi + 0x1b4], eax
xor eax, eax
test edi, edi
setne al
cmp edi, 2
cmove eax, edi
mov dword [esi + 0x264], eax
mov eax, dword [esi + 0x220]
mov edx, dword [eax + 8]
test edx, edx
js 0x460e9f
mov dword [esi + 0x254], edi
lea edi, [edx - 0x7ffffff5]
mov dword [esi + 0x258], ecx
cmp edi, 0x80000002
jbe 0x460ece
mov ebx, dword [eax + 4]
movzx eax, byte [esi + 0x22c]
movzx ecx, byte [esi + 0x21a]
movss xmm0, dword [esi + 0x215]
lea edi, [edx + 0xb]
mov dword [esi + 0x10], edx
and edi, 0xfffffffc
mov byte [esi + 0x8b], al
movzx eax, byte [esi + 0x22d]
mov byte [esi + 0x87], cl
movzx ecx, byte [esi + 0x219]
movaps xmmword [esi + 0x2d0], xmm0
movd xmm0, dword [esi + 0x22e]
mov byte [esi + 0x8a], al
movzx eax, byte [esi + 0x230]
mov byte [esi + 0x86], cl
movzx ecx, byte [esi + 0x210]
movdqa xmmword [esi + 0x2e0], xmm0
mov byte [esi + 0x88], al
movzx eax, byte [esi + 0x231]
mov byte [esi + 0x85], cl
movzx ecx, byte [esi + 0x211]
mov byte [esi + 0x89], al
movzx eax, byte [esi + 0x232]
mov byte [esi + 0x82], cl
movzx ecx, byte [esi + 0x235]
mov byte [esi + 0x83], al
movzx eax, byte [esi + 0x233]
mov byte [esi + 0x81], cl
mov byte [esi + 0x84], al
mov eax, dword [esi + 0x1e4]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0x1ec]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1d8]
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x1dc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x1f4]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x1fc]
mov dword [esi + 0x24c], eax
mov eax, dword [esi + 0x228]
mov dword [esi + 0x250], eax
je 0x45f3ab
movzx eax, byte [0x5b9430]
xor ecx, ecx
mov edx, edi
call fcn.0051b940
mov edx, dword [esi + 0x10]
test eax, eax
jne 0x45f3b0
mov ecx, 4
mov edx, edi
mov dword [esi + 0x308], 0x18
call fcn.0053b730
jmp 0x461139
mov eax, 4
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [esi + 0x68], eax
add eax, 8
push edx
push ebx
mov dword [esi + 0x244], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x260], 2
jne 0x45f3e9
mov eax, dword [esi + 0xe4]
mov dword [esi + 0xa0], eax
cmp dword [esi + 0x25c], 2
mov eax, dword [esi + 0x258]
mov ecx, dword [esi + 0x254]
mov edi, dword [esi + 0x24c]
jne 0x45f42c
mov ebx, dword [esi + 0xec]
mov dword [esi + 0xc], ebx
mov edx, dword [esi + 0x248]
test edx, edx
je 0x45f436
cmp eax, 2
jne 0x45f444
mov eax, dword [esi + 0xf4]
mov dword [esi + 8], eax
cmp ecx, 2
je 0x45f449
jmp 0x45f44f
mov edx, dword [esi + 0x248]
test edx, edx
jne 0x45f417
mov ebx, dword [esi + 0xdc]
mov dword [esi + 0x3c], ebx
cmp eax, 2
je 0x45f41c
cmp ecx, 2
jne 0x45f44f
mov edi, dword [esi + 0xfc]
mov ecx, dword [esi + 0x3c]
mov dword [esi + 0xd8], 0
mov dword [esi + 0xe0], 2
mov dword [esi + 0xe8], 2
mov dword [esi + 0xf0], 2
mov dword [esi + 0xf8], 2
mov byte [esi + 0x10c], 3
mov byte [esi + 0x110], 0
mov dword [esi + 0x116], 0x2020202
mov dword [esi + 0x112], 0x2020202
mov byte [esi + 0x11a], 3
mov dword [esi + 0x124], 0xfa
mov word [esi + 0x128], 0
mov byte [esi + 0x12a], 0
mov byte [esi + 0x11c], 1
mov dword [esi + 0x11d], 0x2020202
mov word [esi + 0x121], 0x202
mov byte [esi + 0x123], 0xa
movaps xmm0, xmmword [esi + 0x2d0]
movdqa xmm3, xmmword [esi + 0x2e0]
movdqa xmm2, xmmword [0x547660]
movdqa xmm4, xmmword [0x547670]
mov byte [esi + 0x4e], 1
mov dword [esi + 0x308], 2
movzx eax, byte [esi + 0x111]
mov dword [esi + 0xd8], edx
mov edx, dword [esi + 0x23c]
mov dword [esi + 0xdc], ecx
mov ecx, dword [esi + 0x70]
pslld xmm3, 8
mov dword [esi + 0xe0], ecx
mov ecx, dword [esi + 0xa0]
mov dword [esi + 0xe4], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0xe8], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0xec], ecx
mov ecx, dword [esi + 0x1b4]
mov dword [esi + 0xf0], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0xf4], ecx
mov ecx, dword [esi + 0x264]
mov dword [esi + 0xf8], ecx
mov dword [esi + 0xfc], edi
mov edi, dword [esi + 0x1b0]
movzx ecx, byte [esi + 0x82]
mov dword [esi + 0x100], edi
mov dword [esi + 0x104], edx
mov edx, dword [esi + 0x240]
movzx edi, byte [esi + 0x8a]
mov dword [esi + 0x108], edx
movzx edx, byte [esi + 4]
mov byte [esi + 0x10c], dl
movzx edx, byte [esi + 0x26a]
mov byte [esi + 0x10f], dl
movzx edx, word [esi + 0x268]
mov word [esi + 0x10d], dx
movzx edx, byte [esi + 0x85]
test dl, dl
mov byte [esi + 0x110], dl
movzx edx, byte [esi + 0x8b]
cmovne eax, ecx
cmp byte [esi + 0x84], 0
movzx ecx, byte [esi + 0x89]
mov byte [esi + 0x111], al
movzx eax, byte [esi + 0x6c]
mov word [esi + 0x112], 0x101
movd xmm1, ecx
lea ecx, [esi + 0x158]
mov byte [esi + 0x114], al
movzx eax, byte [esi + 0x86]
movss dword [esi + 0x115], xmm0
movd xmm0, edi
pslld xmm1, 0x18
pandn xmm2, xmm0
por xmm3, xmm2
movdqa xmm2, xmmword [0x547680]
pand xmm3, xmm4
pandn xmm4, xmm1
pxor xmm1, xmm1
mov byte [esi + 0x119], al
movzx eax, byte [esi + 0x87]
por xmm4, xmm3
pcmpeqb xmm1, xmm4
psubb xmm2, xmm1
mov byte [esi + 0x11a], al
movzx eax, byte [esi + 0x83]
mov byte [esi + 0x128], al
mov eax, dword [esi + 0x250]
mov dword [esi + 0x124], eax
movzx eax, byte [esi + 0x81]
mov byte [esi + 0x129], al
setne al
add al, al
mov byte [esi + 0x121], al
xor eax, eax
cmp byte [esi + 0x88], 1
adc al, 1
mov byte [esi + 0x122], al
mov byte [esi + 0x123], dl
movd dword [esi + 0x11d], xmm2
mov byte [esi + 0x11c], 1
lea edx, [esi + 0xd8]
push dword [esi + 0x10]
push dword [esi + 0x244]
call fcn.004900f0
add esp, 8
mov ebx, dword [esi + 0x158]
cmp ebx, 2
jne 0x45f717
mov eax, dword [esi + 0x15c]
mov edx, dword [esi + 0x160]
mov ecx, dword [esi + 0x68]
mov dword [esi + 4], eax
mov dword [esi + 0xc], edx
mov dword [esi + 8], ecx
movzx eax, byte [esi + 0x10c]
cmp al, 3
jne 0x4608c9
jmp 0x4608f3
mov eax, dword [esi + 0x164]
movsd xmm1, qword [esi + 0x174]
movsd xmm2, qword [esi + 0x17c]
movsd xmm0, qword [esi + 0x16c]
mov edi, dword [esi + 0x15c]
mov ecx, dword [esi + 0x160]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x19c]
movsd qword [esi + 0x270], xmm1
movsd xmm1, qword [esi + 0x184]
movsd qword [esi + 0x278], xmm2
movsd xmm2, qword [esi + 0x18c]
movsd qword [esi + 0x268], xmm0
mov dword [esi + 0x298], eax
mov eax, dword [esi + 0x168]
movsd qword [esi + 0x280], xmm1
movsd xmm1, qword [esi + 0x194]
movsd qword [esi + 0x288], xmm2
mov dword [esi + 4], eax
mov eax, dword [esi + 0x68]
movsd qword [esi + 0x290], xmm1
lock dec dword [eax]
jne 0x45f7ba
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x68]
mov edx, dword [esi + 0x10]
call fcn.00462220
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 8]
mov dword [esi + 0x158], ebx
mov dword [esi + 0x15c], edi
mov dword [esi + 0x160], ecx
movsd xmm1, qword [esi + 0x270]
movsd xmm2, qword [esi + 0x278]
movq xmm0, qword [esi + 0x268]
test ebx, ebx
mov dword [esi + 0x164], eax
lea eax, [esi + 0x168]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x168], eax
movsd qword [esi + 0x174], xmm1
movsd xmm1, qword [esi + 0x280]
mov eax, dword [esi + 0x298]
movsd qword [esi + 0x17c], xmm2
movq xmm2, qword [esi + 0x288]
movq qword [esi + 0x16c], xmm0
movsd qword [esi + 0x184], xmm1
movq xmm1, qword [esi + 0x290]
mov dword [esi + 0x19c], eax
movq qword [esi + 0x18c], xmm2
movq qword [esi + 0x194], xmm1
je 0x45f87e
cmp ecx, 0x27
jne 0x45f87e
mov dword [esi + 0xc], 0x80000000
cmp dword [esi + 0x158], 0
mov eax, dword [esi + 0x160]
jne 0x460846
jmp 0x46085d
test ebx, ebx
je 0x45f907
lea eax, [esi + 0x14]
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb8], 1
mov dword [esi + 0x14], 0x5553b4
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], str.Index_out_of_bounds
mov dword [esi + 0xbc], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x308], 4
lea ecx, [esi + 0xb4]
mov edx, 0x553d90
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460f41
mov eax, dword [esi + 0xb4]
mov edx, dword [esi + 0xb8]
mov ecx, dword [esi + 0xbc]
jmp 0x46082e
cmp ecx, 0x22
mov dword [esi + 0x74], 0
mov dword [esi + 0x78], 1
mov dword [esi + 0x7c], 0
jne 0x45f99f
mov edi, dword [esi + 0x16c]
mov edx, dword [esi + 4]
lea eax, [esi + 0x188]
lea ecx, [esi + 0x170]
mov dword [esi + 0x308], 5
mov dword [esi + 0x1b8], edx
mov dword [esi + 0x1bc], edi
mov dword [esi + 0x1c0], eax
mov dword [esi + 0x1c4], ecx
lea ecx, [esi + 0xb4]
lea edx, [esi + 0x1b8]
mov dword [esi + 8], edi
mov dword [esi + 0x1c8], 0
call fcn.004e7160
mov edi, dword [esi + 8]
cmp edi, 8
jae 0x45fa38
mov eax, dword [esi + 4]
test edi, edi
je 0x45fb0e
cmp byte [eax], 0xa
je 0x45fc9a
inc eax
dec edi
jne 0x45f98d
jmp 0x45fb0e
mov eax, dword [esi + 0x180]
mov edx, dword [esi + 0x184]
lea edi, [esi + 0x160]
lea ebx, [esi + 0x164]
cmp ecx, 0x11
je 0x45f9ce
cmp ecx, 0xe
je 0x45f9ce
xor ebx, ebx
cmp ecx, 0xd
jne 0x45f9ce
lea ebx, [esi + 0x164]
lea ecx, [esi + 0x188]
mov dword [esi + 0x1b8], eax
mov dword [esi + 0x1bc], edx
mov dword [esi + 0x1c0], edi
lea edx, [esi + 0x1b8]
mov dword [esi + 0x308], 5
mov dword [esi + 0x1c4], ecx
lea ecx, [esi + 0xb4]
mov dword [esi + 0x1c8], ebx
call fcn.004e7160
mov ecx, dword [esi + 0x1bc]
mov eax, dword [esi + 0x1b8]
cmp ecx, 8
jae 0x45fa6b
test ecx, ecx
je 0x45ffe9
cmp byte [eax], 0xa
je 0x460175
inc eax
dec ecx
jne 0x45fa26
jmp 0x45ffe9
mov ebx, dword [esi + 4]
lea eax, [ebx + 3]
and eax, 0xfffffffc
sub eax, ebx
je 0x45faaa
cmp eax, edi
cmovae eax, edi
test eax, eax
je 0x45faaa
mov ecx, ebx
mov edx, eax
cmp byte [ecx], 0xa
je 0x45fc9a
inc ecx
dec edx
jne 0x45fa52
lea ecx, [edi - 8]
cmp eax, ecx
jbe 0x45faaf
jmp 0x45faf8
lea edx, [eax + 3]
and edx, 0xfffffffc
sub edx, eax
je 0x45ff84
cmp edx, ecx
cmovae edx, ecx
test edx, edx
je 0x45ff84
mov edi, eax
mov ebx, edx
cmp byte [edi], 0xa
je 0x460175
inc edi
dec ebx
jne 0x45fa8a
lea edi, [ecx - 8]
cmp edx, edi
mov dword [esi + 4], edi
jbe 0x45ff8c
jmp 0x45ffd6
lea ecx, [edi - 8]
xor eax, eax
movdqa xmm0, xmmword [str._n_n_n_n_n_n_n_n]
movdqa xmm1, xmmword [0x547360]
movdqa xmm2, xmmword [0x547370]
movq xmm3, qword [ebx + eax]
movdqa xmm4, xmm3
pxor xmm4, xmm0
paddd xmm4, xmm1
pandn xmm3, xmm4
pand xmm3, xmm2
movd edx, xmm3
pshufd xmm3, xmm3, 0x55
movd edi, xmm3
or edi, edx
jne 0x45faf8
add eax, 8
cmp eax, ecx
jbe 0x45fac7
mov ecx, dword [esi + 8]
sub ecx, eax
je 0x45fb0e
add ebx, eax
cmp byte [ebx], 0xa
je 0x45fc9a
inc ebx
dec ecx
jne 0x45fb01
lea eax, [esi + 0x14]
mov dword [esi + 0x14], 0x55a444
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], str.Index_out_of_bounds
mov dword [esi + 0x20], 0
mov dword [esi + 0x308], 6
lea ecx, [esi + 0x74]
mov edx, 0x553d90
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x461013
lea ecx, [esi + 0x14]
lea edx, [esi + 0x1b8]
call fcn.004e7160
lea ecx, [esi + 0x50]
lea edx, [esi + 0x14]
mov dword [esi + 0x308], 0xd
call fcn.004e7500
mov ebx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
test ebx, ebx
mov dword [esi + 4], eax
je 0x45fbad
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x45fb95
add edi, 0xc
dec ebx
je 0x45fbad
cmp dword [edi - 4], 0
je 0x45fb8f
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x45fb8f
cmp dword [esi + 0x14], 0
je 0x45fbc4
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x20], 0
je 0x45fbe5
push dword [esi + 0x24]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x308], 0xc
lea eax, [esi + 0x50]
mov dword [esi + 0x14], 0x5a76c0
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x308], 0xc
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x40], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x44], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460f81
lea eax, [esi + 0x1c0]
mov dword [esi + 0x14], 0x55a454
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x40], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x44], 0x4e9650
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460f81
cmp dword [esi + 0x50], 0
je 0x4606b6
push dword [esi + 0x54]
jmp 0x4606a8
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x308], 0xe
lea ecx, [esi + 0x14]
xor edx, edx
push 0x4f
call fcn.0053b370
add esp, 4
mov edx, dword [esi + 0x1c]
mov ecx, 0x4f
jmp 0x45fce6
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov byte [eax + edx], 0x7e
inc edx
dec ecx
mov dword [esi + 0x1c], edx
je 0x45fd02
cmp edx, dword [esi + 0x14]
jne 0x45fcd8
mov dword [esi + 4], ecx
lea ecx, [esi + 0x14]
mov dword [esi + 0x308], 0xe
call fcn.00414cc0
jmp 0x45fcd2
mov eax, dword [esi + 0x1c]
movq xmm0, qword [esi + 0x14]
mov dword [esi + 0x14], 0x55a444
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], str.Index_out_of_bounds
mov dword [esi + 0x20], 0
mov dword [esi + 0x308], 7
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x98], eax
lea eax, [esi + 0x14]
movq qword [esi + 0x90], xmm0
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460ff6
lea eax, [esi + 0x90]
mov dword [esi + 0x14], 0x55a45c
mov dword [esi + 0x18], 2
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460ff6
lea ecx, [esi + 0x13c]
lea edx, [esi + 0xb4]
call fcn.004e7500
lea eax, [esi + 0x13c]
mov dword [esi + 0x14], 0x5a76c0
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x308], 8
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460fd9
lea eax, [esi + 0x90]
mov dword [esi + 0x14], 0x55a45c
mov dword [esi + 0x18], 2
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460fd9
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x46062e
mov edi, dword [esi + 0xc4]
lea eax, [eax + eax*2]
xor edx, edx
mov ebx, 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 4
mov dword [esi + 0x48], 0
lea eax, [edi + eax*8]
mov dword [esi + 0x3c], eax
jmp 0x45fecb
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x1d4]
lea eax, [edx + edx*2]
mov edi, dword [esi + 0xc]
inc edx
mov dword [ebx + eax*4 + 8], ecx
add edi, 0x18
movq xmm0, qword [esi + 0x1cc]
movq qword [ebx + eax*4], xmm0
mov dword [esi + 0x48], edx
cmp edi, dword [esi + 0x3c]
mov dword [esi + 0x308], 9
mov dword [esi + 4], edx
je 0x46045f
mov eax, dword [edi + 0x14]
lea ecx, [edi + 4]
mov dword [esi + 8], ebx
lea ebx, [edi + 8]
mov dword [esi + 0x50], 0x55a48c
mov dword [esi + 0x54], 5
mov dword [esi + 0x154], edx
mov dword [esi + 0xc], edi
mov dword [esi + 0x60], 0
lea edx, [esi + 0x50]
mov dword [esi + 0x14], ecx
lea ecx, [edi + 0x10]
mov dword [esi + 0x18], 0x453380
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], 0x453380
lea edi, [esi + 0x148]
mov dword [esi + 0x24], ecx
lea ecx, [esi + 0x14]
mov dword [esi + 0x28], 0x453380
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], 0x453380
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0x1cc]
mov dword [esi + 0x5c], 4
dec eax
mov dword [esi + 0x148], eax
call fcn.0044e970
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
cmp edx, dword [esi + 0x40]
jne 0x45fea7
lea ecx, [esi + 0x40]
mov dword [esi + 0x308], 0xa
call fcn.00414d50
jmp 0x45fea1
lea edx, [ecx - 8]
mov dword [esi + 4], edx
xor edx, edx
movdqa xmm0, xmmword [str._n_n_n_n_n_n_n_n]
movdqa xmm1, xmmword [0x547360]
movdqa xmm2, xmmword [0x547370]
movq xmm3, qword [eax + edx]
movdqa xmm4, xmm3
pxor xmm4, xmm0
paddd xmm4, xmm1
pandn xmm3, xmm4
pand xmm3, xmm2
movd ebx, xmm3
pshufd xmm3, xmm3, 0x55
movd edi, xmm3
or edi, ebx
jne 0x45ffd6
add edx, 8
cmp edx, dword [esi + 4]
jbe 0x45ffa4
sub ecx, edx
je 0x45ffe9
add eax, edx
cmp byte [eax], 0xa
je 0x460175
inc eax
dec ecx
jne 0x45ffdc
lea eax, [esi + 0x14]
mov dword [esi + 0x14], 0x55a444
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], str.Index_out_of_bounds
mov dword [esi + 0x20], 0
mov dword [esi + 0x308], 0xf
lea ecx, [esi + 0x74]
mov edx, 0x553d90
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x4610c5
lea ecx, [esi + 0x14]
lea edx, [esi + 0x1b8]
call fcn.004e7160
lea ecx, [esi + 0x50]
lea edx, [esi + 0x14]
mov dword [esi + 0x308], 0x16
call fcn.004e7500
mov ebx, dword [esi + 0x1c]
mov eax, dword [esi + 0x18]
test ebx, ebx
mov dword [esi + 4], eax
je 0x460088
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x460070
add edi, 0xc
dec ebx
je 0x460088
cmp dword [edi - 4], 0
je 0x46006a
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x46006a
cmp dword [esi + 0x14], 0
je 0x46009f
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x20], 0
je 0x4600c0
push dword [esi + 0x24]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x308], 0x15
lea eax, [esi + 0x50]
mov dword [esi + 0x14], 0x5a76c0
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x308], 0x15
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x40], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x44], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460f90
lea eax, [esi + 0x1c0]
mov dword [esi + 0x14], 0x55a454
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x40], eax
lea eax, [esi + 0x40]
mov dword [esi + 0x44], 0x4e7ec0
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460f90
cmp dword [esi + 0x50], 0
je 0x4607ab
push dword [esi + 0x54]
jmp 0x46079d
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 1
mov dword [esi + 0x1c], 0
mov dword [esi + 0x308], 0x17
lea ecx, [esi + 0x14]
xor edx, edx
push 0x4f
call fcn.0053b370
add esp, 4
mov edx, dword [esi + 0x1c]
mov ecx, 0x4f
jmp 0x4601c1
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x18]
mov byte [eax + edx], 0x7e
inc edx
dec ecx
mov dword [esi + 0x1c], edx
je 0x4601dd
cmp edx, dword [esi + 0x14]
jne 0x4601b3
mov dword [esi + 4], ecx
lea ecx, [esi + 0x14]
mov dword [esi + 0x308], 0x17
call fcn.00414cc0
jmp 0x4601ad
mov eax, dword [esi + 0x1c]
movq xmm0, qword [esi + 0x14]
mov dword [esi + 0x14], 0x55a444
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x1c], str.Index_out_of_bounds
mov dword [esi + 0x20], 0
mov dword [esi + 0x308], 0x10
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x98], eax
lea eax, [esi + 0x14]
movq qword [esi + 0x90], xmm0
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x4610a8
lea eax, [esi + 0x90]
mov dword [esi + 0x14], 0x55a45c
mov dword [esi + 0x18], 2
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x4610a8
lea ecx, [esi + 0x13c]
lea edx, [esi + 0xb4]
call fcn.004e7500
lea eax, [esi + 0x13c]
mov dword [esi + 0x14], 0x5a76c0
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
mov dword [esi + 0x308], 0x11
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x46108b
lea eax, [esi + 0x90]
mov dword [esi + 0x14], 0x55a45c
mov dword [esi + 0x18], 2
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x46108b
mov eax, dword [esi + 0xc8]
test eax, eax
je 0x460723
mov edi, dword [esi + 0xc4]
lea eax, [eax + eax*2]
xor edx, edx
mov ebx, 4
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 4
mov dword [esi + 0x48], 0
lea eax, [edi + eax*8]
mov dword [esi + 0x3c], eax
jmp 0x4603a6
mov ebx, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x1d4]
lea eax, [edx + edx*2]
mov edi, dword [esi + 0xc]
inc edx
mov dword [ebx + eax*4 + 8], ecx
add edi, 0x18
movq xmm0, qword [esi + 0x1cc]
movq qword [ebx + eax*4], xmm0
mov dword [esi + 0x48], edx
cmp edi, dword [esi + 0x3c]
mov dword [esi + 0x308], 0x12
mov dword [esi + 4], edx
je 0x460536
mov eax, dword [edi + 0x14]
lea ecx, [edi + 4]
mov dword [esi + 8], ebx
lea ebx, [edi + 8]
mov dword [esi + 0x50], 0x55a48c
mov dword [esi + 0x54], 5
mov dword [esi + 0x150], edx
mov dword [esi + 0xc], edi
mov dword [esi + 0x60], 0
lea edx, [esi + 0x50]
mov dword [esi + 0x14], ecx
lea ecx, [edi + 0x10]
mov dword [esi + 0x18], 0x453380
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], 0x453380
lea edi, [esi + 0x148]
mov dword [esi + 0x24], ecx
lea ecx, [esi + 0x14]
mov dword [esi + 0x28], 0x453380
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], 0x453380
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0x1cc]
mov dword [esi + 0x5c], 4
dec eax
mov dword [esi + 0x148], eax
call fcn.0044e970
mov edx, dword [esi + 4]
mov ebx, dword [esi + 8]
cmp edx, dword [esi + 0x40]
jne 0x460382
lea ecx, [esi + 0x40]
mov dword [esi + 0x308], 0x13
call fcn.00414d50
jmp 0x46037c
mov eax, dword [esi + 0x44]
mov edi, edx
mov dword [esi + 0x154], edx
lea ecx, [esi + 0x14]
mov dword [esi + 8], eax
mov edx, eax
push edi
call fcn.004e8160
add esp, 4
mov eax, dword [esi + 0x1c]
movq xmm0, qword [esi + 0x14]
mov dword [esi + 0x14], 0x55a45c
mov dword [esi + 0x18], 2
mov dword [esi + 0x24], 0
mov dword [esi + 0x308], 0xb
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
movq qword [esi + 0x50], xmm0
mov dword [esi + 0x148], eax
lea eax, [esi + 0x148]
mov dword [esi + 0x14c], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
mov ecx, dword [esi + 0x50]
test al, al
jne 0x460fa2
test ecx, ecx
je 0x460501
push dword [esi + 0x54]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x46060d
mov ecx, dword [esi + 8]
lea edi, [ecx + 4]
jmp 0x46051e
add edi, 0xc
dec ebx
je 0x46060d
cmp dword [edi - 4], 0
je 0x460514
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x460514
mov eax, dword [esi + 0x44]
mov edi, edx
mov dword [esi + 0x150], edx
lea ecx, [esi + 0x14]
mov dword [esi + 8], eax
mov edx, eax
push edi
call fcn.004e8160
add esp, 4
mov eax, dword [esi + 0x1c]
movq xmm0, qword [esi + 0x14]
mov dword [esi + 0x14], 0x55a45c
mov dword [esi + 0x18], 2
mov dword [esi + 0x24], 0
mov dword [esi + 0x308], 0x14
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
movq qword [esi + 0x50], xmm0
mov dword [esi + 0x148], eax
lea eax, [esi + 0x148]
mov dword [esi + 0x14c], 0x419680
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
mov ecx, dword [esi + 0x50]
test al, al
jne 0x461054
test ecx, ecx
je 0x4605d8
push dword [esi + 0x54]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 4]
test ebx, ebx
je 0x460702
mov ecx, dword [esi + 8]
lea edi, [ecx + 4]
jmp 0x4605f5
add edi, 0xc
dec ebx
je 0x460702
cmp dword [edi - 4], 0
je 0x4605eb
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4605eb
cmp dword [esi + 0x40], 0
je 0x460624
push dword [esi + 8]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x308], 8
lea eax, [esi + 0x1c0]
mov dword [esi + 0x14], 0x55a454
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x4e9650
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460fd9
cmp dword [esi + 0x13c], 0
je 0x460699
push dword [esi + 0x140]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x90], 0
je 0x4606b6
push dword [esi + 0x94]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0xbc]
mov eax, dword [esi + 0xb8]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4607ee
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4606ea
add edi, 0xc
dec ebx
je 0x4607ee
cmp dword [edi - 4], 0
je 0x4606e0
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4606e0
cmp dword [esi + 0x40], 0
je 0x460719
push dword [esi + 8]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x308], 0x11
lea eax, [esi + 0x1c0]
mov dword [esi + 0x14], 0x55a454
mov dword [esi + 0x18], 1
mov dword [esi + 0x24], 0
lea ecx, [esi + 0x74]
mov edx, 0x553d90
mov dword [esi + 0x50], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x54], 0x4e7ec0
mov dword [esi + 0x1c], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x20], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x46108b
cmp dword [esi + 0x13c], 0
je 0x46078e
push dword [esi + 0x140]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x90], 0
je 0x4607ab
push dword [esi + 0x94]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0xbc]
mov eax, dword [esi + 0xb8]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4607ee
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x4607d6
add edi, 0xc
dec ebx
je 0x4607ee
cmp dword [edi - 4], 0
je 0x4607d0
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4607d0
cmp dword [esi + 0xb4], 0
je 0x460808
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xc0], 0
je 0x460825
push dword [esi + 0xc4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x74]
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
mov dword [esi + 0xc], eax
mov dword [esi + 8], edx
mov dword [esi + 0x10], ecx
cmp dword [esi + 0x158], 0
mov eax, dword [esi + 0x160]
je 0x46085d
lea edx, [eax - 0x23]
xor ecx, ecx
lea edi, [eax - 0x22]
cmp edx, 7
cmovb ecx, edi
cmp ecx, 1
je 0x46089a
test ecx, ecx
jne 0x4608b7
cmp eax, 0x22
jne 0x46086d
cmp dword [esi + 0x164], 0
jne 0x460882
jmp 0x4608b7
cmp dword [esi + 0x17c], 0
je 0x4608b7
lea eax, [esi + 0x180]
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
push dword [eax]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x4608b7
mov eax, dword [esi + 0x168]
cmp eax, 0x80000004
jl 0x4608b7
test eax, eax
lea ecx, [esi + 0x16c]
mov dword [esi + 0xa0], ecx
jne 0x460882
mov dword [esi + 4], 0
movzx eax, byte [esi + 0x10c]
cmp al, 3
je 0x4608f3
cmp al, 2
je 0x4608f3
mov eax, dword [esi + 0x100]
lock dec dword [eax]
jne 0x4608f3
mov ecx, dword [esi + 0x100]
mov edx, dword [esi + 0x104]
mov dword [esi + 0x308], 1
call fcn.00462250
mov ebx, dword [esi + 0x224]
mov eax, dword [esi + 0x220]
test ebx, ebx
mov dword [esi + 0xa0], eax
je 0x46093e
mov eax, dword [esi + 0xa0]
lea edi, [eax + 4]
jmp 0x460926
add edi, 0xc
dec ebx
je 0x46093e
cmp dword [edi - 4], 0
je 0x460920
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x460920
cmp dword [esi + 0x21c], 0
je 0x46095b
push dword [esi + 0xa0]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
movzx eax, byte [esi + 0x20c]
mov edi, dword [esi + 4]
cmp al, 3
je 0x460996
cmp al, 2
je 0x460996
mov eax, dword [esi + 0x200]
lock dec dword [eax]
jne 0x460996
mov ecx, dword [esi + 0x200]
mov edx, dword [esi + 0x204]
mov dword [esi + 0x308], 0
call fcn.00462250
mov edi, dword [esi + 4]
test edi, edi
jne 0x460b74
cmp dword [esi + 0xc], 0x80000000
lea eax, [esi + 0x158]
mov dword [esi + 0x158], 0
mov dword [esi + 0x15c], 1
mov dword [esi + 0xf4], 0
mov dword [esi + 0xe8], 0x20
mov byte [esi + 0xf8], 3
mov dword [esi + 0xd8], 0
mov dword [esi + 0xe0], 0
mov dword [esi + 0x160], 0
mov dword [esi + 0x308], 0x1b
mov dword [esi + 0xec], eax
mov dword [esi + 0xf0], 0x552434
jne 0x460a93
mov eax, dword [esi + 8]
mov dword [esi + 0x1d8], 0x553e7c
mov dword [esi + 0x1dc], 2
mov dword [esi + 0x1e8], 0
lea ecx, [esi + 0x158]
mov edx, 0x552434
mov dword [esi + 0x14], eax
lea eax, [esi + 0x14]
mov dword [esi + 0x268], eax
lea eax, [esi + 0x268]
mov dword [esi + 0x26c], 0x453380
mov dword [esi + 0x1e0], eax
lea eax, [esi + 0x1d8]
mov dword [esi + 0x1e4], 1
push eax
call fcn.00454b20
add esp, 4
test al, al
jne 0x460f1c
movq xmm0, qword [esi + 0x158]
mov edi, dword [esi + 0x160]
jmp 0x460ae7
mov edx, dword [esi + 8]
lea ecx, [esi + 0xd8]
push dword [esi + 0x10]
call fcn.00454840
add esp, 4
test al, al
jne 0x460f1c
movq xmm0, qword [esi + 0x158]
mov edi, dword [esi + 0x160]
test dword [esi + 0xc], 0x7fffffff
je 0x460ae7
push dword [esi + 8]
push 0
push dword [0x5b93c8]
movdqa xmmword [esi + 0xa0], xmm0
call dword [sym.imp.kernel32.dll_HeapFree]
movdqa xmm0, xmmword [esi + 0xa0]
lea ecx, [esi + 0x158]
lea eax, [esi + 0x1d8]
mov dword [esi + 0xd8], 0x552584
mov dword [esi + 0xdc], 2
mov dword [esi + 0xe8], 0
movq qword [esi + 0x1d8], xmm0
mov dword [esi + 0x1e0], edi
mov dword [esi + 0x308], 0x1a
mov dword [esi + 0xe0], ecx
lea ecx, [esi + 0xd8]
mov dword [esi + 0x158], eax
mov dword [esi + 0x15c], 0x419680
mov dword [esi + 0xe4], 1
call fcn.0051a680
cmp dword [esi + 0x1d8], 0
mov edi, dword [esi + 4]
je 0x460b74
push dword [esi + 0x1dc]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x1ac]
movsd xmm0, qword [esi + 0x1a4]
mov dword [esi + 0xe0], eax
movsd qword [esi + 0xd8], xmm0
mov eax, dword [esi + 0xe0]
movsd xmm0, qword [esi + 0xd8]
mov dword [esi + 0x1e0], eax
mov eax, dword [esi + 0x38]
movsd qword [esi + 0x1d8], xmm0
mov eax, dword [eax + 0xc]
test eax, eax
je 0x460c04
mov dword [esi + 4], edi
lock dec dword [eax]
jne 0x460bd3
mov eax, dword [esi + 0x38]
mov dword [esi + 0x308], 0x20
lea ecx, [eax + 0xc]
call fcn.004627c0
mov eax, dword [esi + 0x38]
mov dword [esi + 0x308], 0x1f
mov ecx, dword [eax + 0x10]
call fcn.0040d7d0
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 0x14]
lock dec dword [eax]
mov edi, dword [esi + 4]
jne 0x460c04
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
call fcn.00462220
mov ecx, dword [esi + 0x38]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [ecx + 0xc], edi
mov edi, dword [esi + 8]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x18], edx
mov ecx, dword [esi + 0x1e0]
mov edi, dword [esi + 0x1dc]
mov edx, dword [esi + 0x1d8]
mov ebx, ecx
mov dword [esi + 0xd8], edi
mov dword [esi + 0x1b4], edx
mov dword [esi + 0xe0], edx
mov dword [esi + 0x8c], edi
shl ebx, 4
add ebx, edi
test ecx, ecx
mov dword [esi + 0xe4], ebx
je 0x460e01
mov edi, dword [esi + 0x8c]
mov dword [esi + 0x70], ebx
jmp 0x460cae
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x6c]
mov ebx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ecx, dword [esi + 0x68]
mov eax, edx
inc edx
shl eax, 4
mov dword [ebx + eax], ecx
mov ecx, dword [esi + 0x3c]
mov dword [ebx + eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov dword [ebx + eax + 8], ecx
mov ecx, dword [esi + 8]
mov dword [ebx + eax + 0xc], ecx
mov ecx, dword [esi + 0x38]
mov dword [ecx + 8], edx
mov ebx, dword [esi + 0x70]
cmp edi, ebx
je 0x460e41
mov eax, edi
add edi, 0x10
mov ecx, dword [eax]
cmp ecx, 6
mov dword [esi + 0x68], ecx
je 0x460e01
mov ecx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esi + 0x10], ecx
mov ecx, dword [esi + 0x38]
mov dword [esi + 8], eax
mov dword [esi + 0x3c], ebx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 4]
test edx, edx
mov dword [esi + 0xa0], edx
mov dword [esi + 0xc], ecx
je 0x460dd3
cmp ebx, 0x80000000
jne 0x460d30
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xc]
xor ebx, ebx
shl eax, 4
add ecx, 4
nop word cs:[eax + eax]
cmp dword [ecx], 0x80000000
je 0x460d85
inc ebx
add ecx, 0x10
add eax, 0xfffffff0
jne 0x460d10
mov dword [esi + 0x3c], 0x80000000
jmp 0x460dd3
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x6c], edi
xor ebx, ebx
lea edi, [ecx + 0xc]
mov ecx, dword [esi + 0xa0]
shl ecx, 4
jmp 0x460d59
inc ebx
add edi, 0x10
add ecx, 0xfffffff0
je 0x460dd0
cmp dword [edi - 8], 0x80000000
je 0x460d50
cmp dword [edi], eax
jne 0x460d50
push eax
push dword [esi + 0x10]
push dword [edi - 4]
mov dword [esi + 4], ecx
call sub.VCRUNTIME140.dll_memcmp
mov ecx, dword [esi + 4]
add esp, 0xc
test eax, eax
mov eax, dword [esi + 8]
jne 0x460d50
mov edi, dword [esi + 0x6c]
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0xc]
shl ebx, 4
mov ecx, dword [esi + 0x10]
mov dword [edx + ebx], eax
mov eax, dword [esi + 0x3c]
test dword [edx + ebx + 4], 0x7fffffff
mov dword [edx + ebx + 4], eax
mov eax, dword [edx + ebx + 8]
mov dword [edx + ebx + 8], ecx
mov ecx, dword [esi + 8]
mov dword [edx + ebx + 0xc], ecx
mov ebx, dword [esi + 0x70]
je 0x460ca6
push eax
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x460ca3
mov edi, dword [esi + 0x6c]
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0xa0]
mov ebx, dword [esi + 0xc]
cmp edx, dword [eax]
jne 0x460c7c
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x6c], edi
mov dword [esi + 0x308], 0x1e
call fcn.00480360
jmp 0x460c70
sub ebx, edi
mov dword [esi + 0xdc], edi
je 0x460e41
shr ebx, 4
add edi, 8
jmp 0x460e26
add edi, 0x10
dec ebx
je 0x460e41
test dword [edi - 4], 0x7fffffff
je 0x460e20
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x460e20
cmp dword [esi + 0x1b4], 0
je 0x460e5e
push dword [esi + 0x8c]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, dword [esi + 0x300]
mov dword fs:[0], eax
mov eax, dword [esi + 0x38]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esi + 0x158]
lea edx, [esi + 0xd8]
mov dword [esi + 0xd8], 0
mov dword [esi + 0x308], 1
call fcn.0053ffa0
jmp 0x461139
mov dword [esi + 0x308], 0x18
lea eax, [esi + 0x14]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x5546ac
push 0x553db8
push eax
call fcn.0053be90
add esp, 0xc
jmp 0x461139
mov dword [esi + 0x308], 0x18
lea eax, [esi + 0x14]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x54b688
push 0x54b584
push eax
call fcn.0053be90
add esp, 0xc
jmp 0x461139
call fcn.0044e3c0
jmp 0x461139
mov edx, dword [esi + 0xa0]
mov ecx, 1
call fcn.0053b730
jmp 0x461139
lea eax, [esi + 0x14]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x559198
push 0x55245c
push eax
call fcn.0053be90
add esp, 0xc
jmp 0x461139
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x559198
push 0x553da8
lea eax, [esi + 0x14]
push eax
call fcn.0053be90
add esp, 0xc
jmp 0x461139
call fcn.0044e3c0
jmp 0x461139
mov ecx, 1
mov edx, edi
call fcn.0053b730
jmp 0x461139
cmp dword [esi + 0x50], 0
je 0x461013
push dword [esi + 0x54]
jmp 0x461005
cmp dword [esi + 0x50], 0
je 0x4610c5
push dword [esi + 0x54]
jmp 0x4610b7
test ecx, ecx
je 0x460fb7
push dword [esi + 0x54]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 4]
test ebx, ebx
jne 0x461161
cmp dword [esi + 0x40], 0
je 0x460fd9
push dword [esi + 8]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x13c], 0
je 0x460ff6
push dword [esi + 0x140]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x90], 0
je 0x461013
push dword [esi + 0x94]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0xbc]
mov eax, dword [esi + 0xb8]
test ebx, ebx
mov dword [esi + 4], eax
je 0x4610d8
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x46103c
add edi, 0xc
dec ebx
je 0x4610d8
cmp dword [edi - 4], 0
je 0x461032
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x461032
test ecx, ecx
je 0x461069
push dword [esi + 0x54]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 4]
test ebx, ebx
jne 0x46118b
cmp dword [esi + 0x40], 0
je 0x46108b
push dword [esi + 8]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x13c], 0
je 0x4610a8
push dword [esi + 0x140]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0x90], 0
je 0x4610c5
push dword [esi + 0x94]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ebx, dword [esi + 0xbc]
mov eax, dword [esi + 0xb8]
test ebx, ebx
mov dword [esi + 4], eax
jne 0x46113b
cmp dword [esi + 0xb4], 0
je 0x4610f2
push dword [esi + 4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
cmp dword [esi + 0xc0], 0
je 0x46110f
push dword [esi + 0xc4]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esi + 0x308], 5
lea eax, [esi + 0x14]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly
mov edx, 0x37
push 0x559198
push 0x553da8
push eax
call fcn.0053be90
add esp, 0xc
ud2
mov eax, dword [esi + 4]
lea edi, [eax + 4]
jmp 0x461149
add edi, 0xc
dec ebx
je 0x4610d8
cmp dword [edi - 4], 0
je 0x461143
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x461143
mov ecx, dword [esi + 8]
lea edi, [ecx + 4]
jmp 0x461173
add edi, 0xc
dec ebx
je 0x460fc2
cmp dword [edi - 4], 0
je 0x461169
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x461169
mov ecx, dword [esi + 8]
lea edi, [ecx + 4]
jmp 0x46119d
add edi, 0xc
dec ebx
je 0x461074
cmp dword [edi - 4], 0
je 0x461193
push dword [edi]
push 0
push dword [0x5b93c8]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x461193