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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x480
mov esi, esp
mov dword [esi + 0x468], ebp
mov dword [esi + 0x46c], esp
mov dword [esi + 0x478], 0xffffffff
mov dword [esi + 0x474], 0x481620
mov edi, dword [ebp + 0x20]
mov eax, dword fs:[0]
mov dword [esi + 0x470], eax
lea eax, [esi + 0x470]
mov dword fs:[0], eax
lea eax, [edi + 0xc8]
cmp dword [edi + 0x138], 4
mov dword [esi + 0x1c], eax
jne 0x47ad55
cmp dword [edi + 0x174], 0xfffffef7
jae 0x47ad55
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov ecx, ebx
push edi
push dword [ebp + 0x18]
call fcn.0047b470
add esp, 8
mov eax, dword [edi + 0x188]
mov dword [esi + 0x1b4], eax
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x47adb7
nop word cs:[eax + eax]
nop dword [eax + eax]
mov eax, dword [ebp + 0x1c]
push eax
push dword [ebp + 0x18]
push ebx
lea eax, [esi + 0x240]
push eax
call fcn.00509c30
add esp, 0x10
cmp dword [esi + 0x240], 0
je 0x47920c
mov eax, dword [esi + 0x248]
movsd xmm0, qword [esi + 0x240]
mov dword [esi + 0xf8], eax
lea eax, [esi + 0xf0]
movsd qword [esi + 0xf0], xmm0
push eax
push ebx
call fcn.0048a080
add esp, 8
mov eax, dword [0x69b710]
mov dword [esi + 0x4c], ebx
mov eax, dword [eax]
test eax, eax
je 0x479fb0
mov dword [esi + 0xd8], 2
mov dword [esi + 0xe8], 0
nop word cs:[eax + eax]
nop dword [eax]
mov dword [esi + 0x478], 1
push dword [ebp + 0x18]
push dword [esi + 0x4c]
lea eax, [esi + 0x1ec]
push eax
call fcn.0048a4e0
add esp, 0xc
cmp dword [esi + 0x1ec], 0
je 0x47a060
mov eax, dword [esi + 0x1f4]
movsd xmm0, qword [esi + 0x1ec]
mov dword [esi + 0x18], eax
mov eax, dword [0x69b710]
movsd qword [esi + 0x10], xmm0
mov eax, dword [eax]
test eax, eax
je 0x479410
mov dword [esi + 0x98], 2
mov dword [esi + 0xa8], 0
lea eax, [esi + 0x10]
mov dword [esi + 0x478], 5
push eax
call fcn.0051b630
add esp, 4
cmp dword [eax + 0x18], 0x3b9aca00
mov eax, dword [0x69b710]
setne byte [esi + 0xf]
mov eax, dword [eax]
test eax, eax
je 0x479440
lea eax, [esi + 0x10]
push eax
call fcn.0051b6c0
add esp, 4
add eax, 0x64
push dword [ebp + 0x14]
push eax
lea eax, [esi + 0x240]
push eax
call fcn.00443cc0
add esp, 0xc
movzx eax, byte [esi + 0x240]
cmp eax, 9
jne 0x479380
lea eax, [esi + 0x10]
mov byte [esi + 2], 1
mov dword [esi + 0x478], 6
push eax
call fcn.0051b630
add esp, 4
cmp byte [eax + 0x20], 5
je 0x47a12d
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x47946d
mov eax, dword [esi + 0x18]
movsd xmm0, qword [esi + 0x10]
mov byte [esi + 2], 1
mov dword [esi + 0xf8], eax
movzx eax, byte [esi + 0xf]
movsd qword [esi + 0xf0], xmm0
push eax
lea eax, [esi + 0xf0]
push eax
push dword [ebp + 0x1c]
call fcn.0050e8b0
add esp, 0xc
movzx eax, byte [esi + 0x240]
cmp eax, 9
je 0x479770
jmp 0x479750
test eax, eax
jne 0x47a070
lea eax, [esi + 0x248]
mov byte [esi + 1], 1
mov dword [esi + 0x478], 8
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esi + 0x60], xmm1
movsd xmm1, qword [eax + 8]
lea eax, [esi + 0x10]
movsd qword [esi + 0x68], xmm0
movsd qword [esi + 0x50], xmm2
movsd qword [esi + 0x58], xmm1
push eax
call fcn.0051b630
add esp, 4
mov ecx, dword [esi + 0x50]
mov eax, dword [eax + 0x3c]
test ecx, ecx
mov dword [esi + 0xc8], eax
je 0x47949a
xor eax, eax
cmp ecx, 1
jne 0x47949d
mov ecx, dword [esi + 0x60]
mov edx, dword [esi + 0x5c]
mov eax, ecx
sub eax, edx
neg eax
cmp ecx, edx
mov ecx, dword [esi + 0x64]
sbb ecx, 0
mov ecx, 0
cmovae eax, ecx
jmp 0x47949d
mov eax, dword [0x69ace4]
movzx eax, byte [eax + 8]
test al, al
je 0x479291
movzx ecx, al
cmp ecx, 1
je 0x47982b
cmp ecx, 2
jne 0x479815
mov al, 2
jmp 0x47982b
mov eax, dword [0x69ace8]
movzx eax, byte [eax + 8]
test al, al
je 0x4792d5
movzx ecx, al
cmp ecx, 1
je 0x4799b4
cmp ecx, 2
jne 0x47999e
mov al, 2
jmp 0x4799b4
mov eax, dword [0x69ad00]
movzx eax, byte [eax + 8]
test al, al
je 0x479336
movzx ecx, al
cmp ecx, 1
je 0x479aa0
cmp ecx, 2
jne 0x479a86
mov al, 2
jmp 0x479aa0
mov eax, dword [esi + 0x5c]
mov dword [esi + 0xcc], eax
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x4796ff
mov eax, dword [esi + 0xcc]
mov edx, dword [esi + 0xc8]
test eax, eax
je 0x4795c0
test edx, edx
jne 0x4795c0
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x479a59
lea eax, [esi + 0x10]
mov byte [esi + 1], 1
push eax
call fcn.0051b6c0
add esp, 4
mov dword [esi + 4], eax
movsd xmm0, qword [esi + 0x68]
lea eax, [esi + 0x2b]
movsd xmm1, qword [esi + 0x58]
mov byte [esi + 0xf8], 0
lea ecx, [esi + 0xf0]
mov byte [esi + 1], 0
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x60]
movsd qword [eax + 8], xmm1
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x50]
movsd qword [eax], xmm0
lea eax, [esi + 0xf8]
movsd xmm0, qword [esi + 0x43]
movsd xmm1, qword [esi + 0x34]
movsd xmm2, qword [esi + 0x3c]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x19], xmm2
movsd qword [eax + 0x11], xmm1
movsd xmm2, qword [esi + 0x24]
movsd xmm1, qword [esi + 0x2c]
movsd qword [eax + 9], xmm1
movsd qword [eax + 1], xmm2
mov eax, dword [ebp + 0x14]
mov dword [esi + 0xf0], 0
mov edx, dword [eax + 0x10]
push ecx
mov dword [esi + 8], edx
push edx
push eax
call fcn.00416b90
add esp, 0xc
mov edx, dword [esi + 4]
cmp dword [edx + 0x64], 0
je 0x47972c
mov ecx, dword [ebp + 0x14]
mov edi, dword [esi + 8]
cmp dword [ecx + 8], edi
jbe 0x47af22
lea eax, [edi + edi*2]
shl eax, 6
add eax, dword [ecx]
cmp dword [eax], 2
jne 0x4796de
jmp 0x47af22
mov ecx, dword [esi + 0x1b4]
mov edi, 0
cmp eax, ecx
cmovae eax, ecx
test edx, edx
cmovle edx, edi
cmp eax, edx
cmovb edx, eax
test edx, edx
mov dword [esi + 0x1b8], edx
je 0x47a1f3
lea eax, [esi + 0x10]
mov dword [esi + 4], edx
mov byte [esi + 1], 1
push eax
call fcn.0051b630
add esp, 4
mov eax, dword [eax + 0x38]
mov ecx, 0
test eax, eax
cmovle eax, ecx
cmp dword [esi + 4], eax
jbe 0x47a1f3
lea eax, [esi + 0x10]
mov byte [esi + 1], 1
push eax
call fcn.0051b6c0
add esp, 4
mov dword [esi + 4], eax
movsd xmm0, qword [esi + 0x68]
lea eax, [esi + 0x2b]
movsd xmm1, qword [esi + 0x58]
mov byte [esi + 0xf8], 0
lea ecx, [esi + 0xf0]
mov byte [esi + 1], 0
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x60]
movsd qword [eax + 8], xmm1
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x50]
movsd qword [eax], xmm0
lea eax, [esi + 0xf8]
movsd xmm0, qword [esi + 0x43]
movsd xmm1, qword [esi + 0x34]
movsd xmm2, qword [esi + 0x3c]
movsd qword [eax + 0x20], xmm0
movsd qword [eax + 0x19], xmm2
movsd qword [eax + 0x11], xmm1
movsd xmm2, qword [esi + 0x24]
movsd xmm1, qword [esi + 0x2c]
movsd qword [eax + 9], xmm1
movsd qword [eax + 1], xmm2
mov eax, dword [ebp + 0x14]
mov dword [esi + 0xf0], 0
mov edx, dword [eax + 0x10]
push ecx
mov dword [esi + 8], edx
push edx
push eax
call fcn.00416b90
add esp, 0xc
mov edx, dword [esi + 4]
cmp dword [edx + 0x64], 0
je 0x47972c
mov ecx, dword [ebp + 0x14]
mov edi, dword [esi + 8]
cmp dword [ecx + 8], edi
jbe 0x47af3f
lea eax, [edi + edi*2]
shl eax, 6
add eax, dword [ecx]
cmp dword [eax], 2
je 0x47af3f
mov ecx, edx
mov edx, dword [edx + 0x68]
mov dword [eax], 1
add ecx, 0x68
mov dword [eax + 4], edx
mov dword [ecx], edi
movzx eax, byte [esi + 0x240]
cmp eax, 9
je 0x479770
jmp 0x479750
mov eax, dword [0x69acec]
movzx eax, byte [eax + 8]
test al, al
je 0x4794b2
movzx ecx, al
cmp ecx, 1
je 0x479b77
cmp ecx, 2
jne 0x479b5d
mov al, 2
jmp 0x479b77
mov eax, dword [esi + 8]
mov dword [edx + 0x64], 1
mov dword [edx + 0x68], eax
add edx, 0x6c
mov dword [edx], eax
movzx eax, byte [esi + 0x240]
cmp eax, 9
je 0x479770
nop word [eax + eax]
test eax, eax
je 0x479770
cmp eax, 3
je 0x479770
lea ecx, [esi + 0x240]
mov dword [esi + 0x478], 5
call fcn.0047f9c0
nop
cmp dword [esi + 0x98], 2
je 0x479240
lea eax, [esi + 0x90]
mov dword [esi + 0x478], 4
push eax
lea eax, [esi + 0x98]
push eax
call fcn.00532270
add esp, 8
cmp dword [esi + 0x98], 2
je 0x479240
mov ecx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
mov dword [esi + 0x478], 3
push ecx
push eax
lea eax, [esi + 0x98]
push eax
call fcn.005322a0
add esp, 0xc
mov eax, dword [esi + 0x98]
cmp eax, 2
je 0x479240
test eax, eax
je 0x479240
mov eax, dword [esi + 0x9c]
lock dec dword [eax]
jne 0x479240
lea eax, [esi + 0x9c]
mov dword [esi + 0x478], 1
push eax
call fcn.0042de60
add esp, 4
jmp 0x479240
push dword [0x69ace4]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x479291
movzx eax, al
push eax
mov eax, dword [0x69ace4]
push dword [eax]
call fcn.005313d0
add esp, 8
test al, al
je 0x479291
mov eax, dword [0x69ace4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47af75
mov edi, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov dword [esi + 0xb0], eax
mov eax, dword [eax + 0x28]
mov dword [esi + 4], ecx
mov dword [esi + 0x2f8], edi
mov dword [esi + 0x2fc], ecx
mov dword [esi + 0x300], edx
mov dword [esi + 0x304], eax
mov dword [esi + 0x8c], eax
lea eax, [esi + 0x10]
mov dword [esi + 0x88], edi
mov dword [esi + 8], edx
mov dword [esi + 0x308], 0
push eax
call fcn.0051b630
add esp, 4
add eax, 0xcc
mov dword [esi + 0x74], eax
mov eax, dword [esi + 4]
cmp eax, 1
jbe 0x47af8e
mov ecx, dword [esi + 0x88]
mov dword [esi + 0x240], ecx
mov dword [esi + 0x244], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x24c], eax
lea eax, [esi + 0x10]
mov dword [esi + 0x250], 1
push eax
call fcn.0051b630
add esp, 4
mov edx, dword [esi + 0xb0]
add eax, 0x20
lea ecx, [esi + 0xf0]
mov dword [esi + 0x50], eax
mov dword [esi + 0x24], ecx
mov dword [esi + 0x28], 2
lea eax, [edx + 0x1c]
mov dword [esi + 0x2c], eax
lea eax, [esi + 0x2f8]
mov dword [esi + 0xf0], eax
lea eax, [esi + 0x74]
mov dword [esi + 0xf4], eax
lea eax, [esi + 0x240]
mov dword [esi + 0xf8], 0x609ce8
mov dword [esi + 0xfc], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x100], eax
lea eax, [esi + 0x24]
mov dword [esi + 0x104], 0x609eac
push eax
push edx
lea eax, [esi + 0x90]
push eax
call fcn.005310b0
add esp, 0xc
cmp dword [esi + 0x98], 2
je 0x4792a5
lea eax, [esi + 0x90]
mov dword [esi + 0x478], 4
push eax
lea eax, [esi + 0x98]
push eax
call fcn.00532240
add esp, 8
jmp 0x4792a5
push dword [0x69ace8]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x4792d5
movzx eax, al
push eax
mov eax, dword [0x69ace8]
push dword [eax]
call fcn.005313d0
add esp, 8
test al, al
je 0x4792d5
mov eax, dword [0x69ace8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47af5c
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea edi, [esi + 0x2f8]
mov dword [esi + 0x240], edi
mov dword [esi + 0x244], 1
mov dword [esi + 0xf0], edx
mov dword [esi + 0xf4], ecx
lea ecx, [eax + 0x1c]
movlps qword [esi + 0xf8], xmm0
mov dword [esi + 0x100], 0
mov dword [esi + 0x248], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0x2f8], ecx
lea ecx, [esi + 0xf]
mov dword [esi + 0x2fc], ecx
lea ecx, [esi + 0x240]
mov dword [esi + 0x300], 0x609ecc
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4792d5
mov eax, dword [0x69acf0]
movzx eax, byte [eax + 8]
test al, al
je 0x4794dd
movzx ecx, al
cmp ecx, 1
je 0x479ed8
cmp ecx, 2
jne 0x479ebe
mov al, 2
jmp 0x479ed8
mov byte [esi + 2], 1
push dword [0x69ad00]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x479336
mov ecx, dword [0x69ad00]
movzx eax, al
mov byte [esi + 2], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x479336
mov eax, dword [0x69ad00]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47afa7
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea edi, [esi + 0x74]
mov dword [esi + 0xf0], 0x609f18
mov dword [esi + 0xf4], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0xf8], 0x609d18
mov dword [esi + 0xfc], 0
mov byte [esi + 2], 1
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], 1
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ecx
lea ecx, [eax + 0x1c]
movlps qword [esi + 0x2c], xmm0
mov dword [esi + 0x34], 0
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0x74], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x7c], 0x609d18
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x479336
mov byte [esi + 1], 1
push dword [0x69acec]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x4794b2
mov ecx, dword [0x69acec]
movzx eax, al
mov byte [esi + 1], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x4794b2
mov eax, dword [0x69acec]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x47b038
mov eax, dword [ecx + 0x1c]
mov edi, dword [ecx + 0x24]
mov ebx, dword [ecx + 0x28]
cmp edx, 1
mov dword [esi + 0x24], 0x609f3c
mov dword [esi + 0x28], 1
mov dword [esi + 0x34], 0
mov dword [esi + 0x2c], 0x609d18
mov dword [esi + 0xb0], ecx
mov dword [esi + 0x30], 0
mov dword [esi + 0x204], eax
mov dword [esi + 0x208], edx
mov dword [esi + 0x20c], edi
mov dword [esi + 0x210], ebx
mov dword [esi + 0x214], 0
je 0x47b01b
cmp edx, 2
mov dword [esi + 0x218], eax
mov dword [esi + 0x21c], edx
mov dword [esi + 0x220], edi
mov dword [esi + 0x224], ebx
mov dword [esi + 0x228], 1
jbe 0x47b055
mov ecx, eax
mov ah, byte [esi + 0x6e]
mov dword [esi + 0x22c], ecx
mov dword [esi + 0x230], edx
mov dword [esi + 0x234], edi
mov dword [esi + 0x238], ebx
mov dword [esi + 0x23c], 2
and ah, 1
cmp edx, 3
mov byte [esi + 0x23], ah
je 0x47affe
lea eax, [esi + 0xc8]
cmp edx, 4
mov dword [esi + 0x1b8], ecx
mov dword [esi + 0x1bc], edx
mov dword [esi + 0x1c0], edi
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x1c8], 3
mov dword [esi + 0x1cc], eax
jbe 0x47b072
lea eax, [esi + 0x10]
mov dword [esi + 0x1d0], ecx
mov dword [esi + 0x1d4], edx
mov dword [esi + 0x1d8], edi
mov dword [esi + 0x1dc], ebx
mov dword [esi + 0x88], ecx
mov dword [esi + 4], edx
mov dword [esi + 8], edi
mov dword [esi + 0x8c], ebx
mov dword [esi + 0x1e0], 4
mov byte [esi + 1], 1
push eax
call fcn.0051b630
add esp, 4
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x1e8], eax
lea eax, [esi + 0x1e8]
mov dword [esi + 0x1e4], eax
mov eax, dword [esi + 4]
cmp eax, 5
jbe 0x47afc4
mov ecx, dword [esi + 0x88]
mov byte [esi + 1], 1
mov dword [esi + 0xb4], ecx
mov dword [esi + 0xb8], eax
mov eax, dword [esi + 8]
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0xc0], eax
lea eax, [esi + 0x10]
mov dword [esi + 0xc4], 5
push eax
call fcn.0051b630
add esp, 4
mov dword [esi + 0x1b0], eax
mov eax, dword [esi + 4]
cmp eax, 6
jbe 0x47afe1
mov ecx, dword [esi + 0x88]
mov byte [esi + 1], 1
mov dword [esi + 0x74], ecx
mov dword [esi + 0x78], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x80], eax
lea eax, [esi + 0x10]
mov dword [esi + 0x84], 6
push eax
call fcn.0051b630
add esp, 4
mov edx, dword [esi + 0x1b0]
lea ecx, [esi + 0x204]
add edx, 0xd4
add eax, 0xd8
mov byte [esi + 1], 1
mov dword [esi + 0xf0], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0xf4], ecx
lea ecx, [esi + 0x218]
mov dword [esi + 0xf8], 0x609d18
mov dword [esi + 0xfc], ecx
lea ecx, [esi + 0xcc]
mov dword [esi + 0x100], ecx
lea ecx, [esi + 0x22c]
mov dword [esi + 0x104], 0x609df4
mov dword [esi + 0x108], ecx
lea ecx, [esi + 0x23]
mov dword [esi + 0x10c], ecx
lea ecx, [esi + 0x1b8]
mov dword [esi + 0x110], 0x609ecc
mov dword [esi + 0x114], ecx
lea ecx, [esi + 0x1cc]
mov dword [esi + 0x118], ecx
lea ecx, [esi + 0x1d0]
mov dword [esi + 0x11c], 0x609f44
mov dword [esi + 0x120], ecx
lea ecx, [esi + 0x1e4]
mov dword [esi + 0x124], ecx
lea ecx, [esi + 0xb4]
mov dword [esi + 0x128], 0x609f44
mov dword [esi + 0x12c], ecx
lea ecx, [esi + 0x74]
mov dword [esi + 0x130], edx
mov dword [esi + 0x134], 0x609e8c
mov dword [esi + 0x138], ecx
mov dword [esi + 0x13c], eax
lea eax, [esi + 0xf0]
mov ecx, dword [esi + 0xb0]
mov dword [esi + 0x140], 0x609df4
mov dword [esi + 0x1f8], eax
mov eax, dword [0x69acec]
mov dword [esi + 0x1fc], 7
add ecx, 0x1c
mov eax, dword [eax]
mov dword [esi + 0x200], ecx
lea ecx, [esi + 0x1f8]
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4794b2
mov byte [esi + 1], 1
push dword [0x69acf0]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x4794dd
mov ecx, dword [0x69acf0]
movzx eax, al
mov byte [esi + 1], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x4794dd
mov eax, dword [0x69acf0]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47b0be
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea edi, [esi + 0xb4]
mov dword [esi + 0xf0], 0x609fa4
mov dword [esi + 0xf4], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0xf8], 0x609d18
mov dword [esi + 0xfc], 0
mov byte [esi + 1], 1
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], 1
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ecx
lea ecx, [eax + 0x1c]
movlps qword [esi + 0x2c], xmm0
mov dword [esi + 0x34], 0
mov dword [esi + 0x7c], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0xb4], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0xb8], ecx
lea ecx, [esi + 0x74]
mov dword [esi + 0xbc], 0x609d18
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4794dd
mov eax, dword [0x69ace0]
movzx eax, byte [eax + 8]
test al, al
je 0x47921e
movzx ecx, al
cmp ecx, 1
je 0x479fd4
cmp ecx, 2
jne 0x47ad3a
mov al, 2
movzx eax, al
push eax
mov eax, dword [0x69ace0]
push dword [eax]
call fcn.005313d0
add esp, 8
test al, al
je 0x47921e
mov eax, dword [0x69ace0]
mov dword [esi + 0xf0], 0x609d18
mov dword [esi + 0xf4], 0
mov eax, dword [eax]
lea ecx, [eax + 0x1c]
mov dword [esi + 0xf8], ecx
lea ecx, [esi + 0xf0]
push ecx
push eax
lea eax, [esi + 0xd0]
push eax
call fcn.005310b0
add esp, 0xc
cmp dword [esi + 0xd8], 2
je 0x479240
lea eax, [esi + 0xd0]
mov dword [esi + 0x478], 0
push eax
lea eax, [esi + 0xd8]
push eax
call fcn.00532240
add esp, 8
jmp 0x479240
mov byte [esi + 4], 9
jmp 0x47a630
cmp eax, 3
jne 0x47a1b5
push 0xb0
lea eax, [esi + 0x248]
push eax
lea eax, [esi + 0xf0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [esi + 0x194]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x478], 7
mov dword [esi + 0x74], ecx
lea ecx, [esi + 0x74]
push ecx
push eax
lea eax, [esi + 0x24]
push eax
call fcn.00517b30
add esp, 0xc
cmp dword [esi + 0x24], 0
je 0x47b0db
mov eax, dword [esi + 0x2c]
movsd xmm0, qword [esi + 0x24]
mov dword [esi + 0x58], eax
lea eax, [esi + 0x50]
movsd qword [esi + 0x50], xmm0
push eax
call fcn.0051b6c0
add esp, 4
mov byte [eax + 0xe5], 0
lea eax, [esi + 0x50]
push eax
call fcn.0051b630
add esp, 4
cmp dword [eax + 0x64], 0
je 0x47a4b3
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jbe 0x47a4a4
lea eax, [esi + 0x50]
push eax
push ecx
call fcn.0050df10
add esp, 8
lea eax, [esi + 0x50]
push eax
push dword [esi + 0x4c]
call fcn.0048ac10
add esp, 8
jmp 0x47a4b3
mov eax, dword [eax + 0x24]
mov byte [esi + 2], 1
mov dword [esi + 4], eax
lea eax, [esi + 0x10]
push eax
call fcn.0051b630
add esp, 4
mov eax, dword [eax + 0xcc]
mov byte [esi + 2], 1
mov dword [esi + 8], eax
lea eax, [esi + 0x10]
push eax
call fcn.0051b6c0
add esp, 4
add eax, 0x20
mov byte [esi + 2], 1
push 1
push dword [esi + 4]
push dword [esi + 8]
push eax
call fcn.005172b0
add esp, 0x10
lea eax, [esi + 0x10]
mov byte [esi + 2], 1
push eax
call fcn.0051b630
add esp, 4
mov eax, dword [eax + 0xcc]
mov ecx, dword [esi + 4]
mov dword [esi + 0x2fc], eax
mov dword [esi + 0x300], ecx
mov byte [esi + 0x2f8], 8
movzx eax, byte [esi + 0x240]
cmp eax, 9
jne 0x47a4e1
jmp 0x47a500
push 0xb8
lea eax, [esi + 0x240]
push eax
lea edi, [esi + 0xf0]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 2], 0
mov dword [esi + 0x478], 6
push edi
lea eax, [esi + 0x2f8]
push eax
call fcn.00428d00
add esp, 8
jmp 0x47a500
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x47a413
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x47a440
mov dword [esi + 0xf8], 2
mov dword [esi + 0x108], 0
lea eax, [esi + 0x10]
mov dword [esi + 0x478], 0xc
mov dword [esi + 0x24], eax
lea eax, [esi + 0x1b8]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x4c]
mov dword [esi + 0x2c], eax
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.00441ed0
add esp, 8
cmp dword [esi + 0xf8], 2
je 0x47a2be
mov ecx, dword [esi + 0xf4]
mov eax, dword [esi + 0xf0]
mov dword [esi + 0x478], 0xb
push ecx
push eax
lea eax, [esi + 0xf8]
push eax
call fcn.005322a0
add esp, 0xc
mov eax, dword [esi + 0xf8]
cmp eax, 2
je 0x47a2be
test eax, eax
je 0x47a2be
mov eax, dword [esi + 0xfc]
lock dec dword [eax]
jne 0x47a2be
lea eax, [esi + 0xfc]
mov byte [esi + 1], 1
mov dword [esi + 0x478], 8
push eax
call fcn.0042de60
add esp, 4
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x47a46d
mov dword [esi + 0xf8], 2
mov dword [esi + 0x108], 0
mov dword [esi + 0x478], 0xa
lea eax, [esi + 0x4c]
mov dword [esi + 0x478], 0xa
mov dword [esi + 0x24], eax
lea eax, [esi + 0x1b8]
mov dword [esi + 0x28], eax
lea eax, [esi + 0x50]
mov dword [esi + 0x2c], eax
lea eax, [esi + 0x24]
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.00441fc0
add esp, 8
cmp dword [esi + 0xf8], 2
mov ecx, eax
je 0x47a39a
mov byte [esi + 4], cl
mov ecx, dword [esi + 0xf4]
mov eax, dword [esi + 0xf0]
mov dword [esi + 8], edx
mov dword [esi + 0x478], 9
push ecx
push eax
lea eax, [esi + 0xf8]
push eax
call fcn.005322a0
add esp, 0xc
mov eax, dword [esi + 0xf8]
movzx ecx, byte [esi + 4]
mov edx, dword [esi + 8]
cmp eax, 2
je 0x47a39a
test eax, eax
je 0x47a39a
mov eax, dword [esi + 0xfc]
lock dec dword [eax]
jne 0x47a39a
lea eax, [esi + 0xfc]
mov byte [esi + 1], 1
mov dword [esi + 0x478], 8
push eax
call fcn.0042de60
mov edx, dword [esi + 8]
movzx ecx, byte [esi + 4]
add esp, 4
movsd xmm0, qword [esi + 0x60]
lea eax, [esi + 0x300]
movsd xmm1, qword [esi + 0x58]
and cl, 1
mov edi, dword [esi + 0x68]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x50]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
movsd xmm0, qword [esi + 0x14]
mov dword [esi + 0x318], edx
movzx edx, word [esi + 0x6c]
movsd qword [esi + 0x320], xmm0
mov byte [esi + 0x328], cl
movzx ecx, byte [esi + 0x6e]
mov dword [esi + 0x330], edi
mov word [esi + 0x334], dx
mov byte [esi + 0x336], cl
mov byte [esi + 0x2f8], 0
movzx eax, byte [esi + 0x240]
cmp eax, 9
jne 0x47a4e1
jmp 0x47a500
mov eax, dword [0x69acf4]
movzx eax, byte [eax + 8]
test al, al
je 0x47a202
movzx ecx, al
cmp ecx, 1
je 0x47ab2a
cmp ecx, 2
jne 0x47ab10
mov al, 2
jmp 0x47ab2a
mov eax, dword [0x69acf8]
movzx eax, byte [eax + 8]
test al, al
je 0x47a211
movzx ecx, al
cmp ecx, 1
je 0x47ac5a
cmp ecx, 2
jne 0x47ac40
mov al, 2
jmp 0x47ac5a
mov eax, dword [0x69acfc]
movzx eax, byte [eax + 8]
test al, al
je 0x47a2cd
movzx ecx, al
cmp ecx, 1
je 0x47acd7
cmp ecx, 2
jne 0x47acb3
mov dword [esi + 0x478], 8
mov al, 2
jmp 0x47acd7
lea eax, [esi + 0x50]
push eax
push dword [esi + 0x4c]
call fcn.005066a0
add esp, 8
push 0xb0
lea eax, [esi + 0xf0]
push eax
lea eax, [esi + 0x300]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 0x2f8], 3
movzx eax, byte [esi + 0x240]
cmp eax, 9
je 0x47a500
test eax, eax
je 0x47a500
cmp eax, 3
je 0x47a500
lea ecx, [esi + 0x240]
mov dword [esi + 0x478], 0xd
call fcn.0047f9c0
nop
mov eax, dword [0x69b710]
mov eax, dword [eax]
test eax, eax
je 0x47a860
lea eax, [esi + 0x10]
mov dword [esi + 0x478], 0xd
push eax
call fcn.0051b630
add esp, 4
cmp dword [eax + 0x64], 0
jne 0x47a53d
lea eax, [esi + 0x10]
push eax
call fcn.0051b630
add esp, 4
cmp byte [eax + 0x20], 5
jne 0x47a54c
lea eax, [esi + 0x10]
push eax
push dword [esi + 0x4c]
call fcn.0048ac10
add esp, 8
mov eax, dword [esi + 0x18]
movsd xmm0, qword [esi + 0x10]
mov dword [esi + 0x248], eax
movzx eax, byte [esi + 0xf]
movsd qword [esi + 0x240], xmm0
push eax
lea eax, [esi + 0x240]
push eax
push dword [ebp + 0x1c]
call fcn.0050e8b0
add esp, 0xc
movzx eax, byte [esi + 0x2f8]
mov byte [esi + 4], al
push 0xb7
lea eax, [esi + 0x2f9]
push eax
lea eax, [esi + 0x3b0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x98], 2
je 0x47a630
lea eax, [esi + 0x90]
mov dword [esi + 0x478], 4
push eax
lea eax, [esi + 0x98]
push eax
call fcn.00532270
add esp, 8
cmp dword [esi + 0x98], 2
je 0x47a630
mov ecx, dword [esi + 0x94]
mov eax, dword [esi + 0x90]
mov dword [esi + 0x478], 2
push ecx
push eax
lea eax, [esi + 0x98]
push eax
call fcn.005322a0
add esp, 0xc
mov eax, dword [esi + 0x98]
cmp eax, 2
je 0x47a630
test eax, eax
je 0x47a630
mov eax, dword [esi + 0x9c]
lock dec dword [eax]
jne 0x47a630
lea eax, [esi + 0x9c]
mov dword [esi + 0x478], 1
push eax
call fcn.0042de60
add esp, 4
nop
cmp dword [esi + 0xd8], 2
je 0x47a6c0
lea eax, [esi + 0xd0]
mov dword [esi + 0x478], 0
push eax
lea eax, [esi + 0xd8]
push eax
call fcn.00532270
add esp, 8
cmp dword [esi + 0xd8], 2
je 0x47a6c0
mov ecx, dword [esi + 0xd4]
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x478], 0xe
push ecx
push eax
lea eax, [esi + 0xd8]
push eax
call fcn.005322a0
add esp, 0xc
mov eax, dword [esi + 0xd8]
cmp eax, 2
je 0x47a6c0
test eax, eax
je 0x47a6c0
mov eax, dword [esi + 0xdc]
lock dec dword [eax]
jne 0x47a6c0
lea eax, [esi + 0xdc]
mov dword [esi + 0x478], 0xffffffff
push eax
call fcn.0042de60
add esp, 4
movzx eax, byte [esi + 4]
cmp al, 9
jne 0x47a730
mov dword [esi + 0x478], 0xffffffff
push dword [ebp + 0x10]
push dword [esi + 0x1c]
lea eax, [esi + 0xf0]
push eax
call fcn.004351d0
add esp, 0xc
movzx ebx, byte [esi + 0xf0]
cmp ebx, 4
jne 0x47ad9d
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov ecx, ebx
push dword [ebp + 0x20]
push dword [ebp + 0x18]
call fcn.0047b470
add esp, 8
test al, al
je 0x47aed5
mov dword [esi + 0x478], 0xffffffff
jmp 0x4791c0
mov byte [esi + 0x240], al
push 0xb7
lea eax, [esi + 0x3b0]
push eax
lea eax, [esi + 0x241]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [0x69b710]
mov eax, dword [eax]
mov edi, dword [esi + 0x1c]
test eax, eax
je 0x47a88c
cmp byte [esi + 0x240], 0
jne 0x47a78d
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [esi + 0x268]
mov dword [esi + 0x478], 0xf
mov dword [eax + 0x3c], 1
movsd qword [eax + 0x40], xmm0
push 0xb8
lea eax, [esi + 0x240]
push eax
lea ebx, [esi + 0xf0]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [esi + 3], 0
mov dword [esi + 0x478], 0xf
push ebx
push edi
call fcn.00433070
add esp, 8
cmp al, 0xc
jne 0x47b08f
mov eax, dword [ebp + 0x20]
cmp dword [eax + 0x138], 4
jne 0x47a7e0
cmp dword [eax + 0x174], 0xfffffef7
jb 0x47a82b
mov byte [esi + 3], 0
push dword [ebp + 0x10]
push dword [esi + 0x1c]
lea eax, [esi + 0xf0]
push eax
call fcn.004351d0
add esp, 0xc
movzx ebx, byte [esi + 0xf0]
cmp ebx, 4
jne 0x47aecc
mov eax, dword [ebp + 0x20]
mov bl, 5
cmp dword [eax + 0x138], 4
jne 0x47aef2
cmp dword [eax + 0x174], 0xfffffef7
jae 0x47aef2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x14]
mov byte [esi + 3], 0
push eax
push dword [ebp + 0x18]
call fcn.0047b470
add esp, 8
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x478], 0xffffffff
jmp 0x4791c0
mov eax, dword [0x69ad04]
movzx eax, byte [eax + 8]
test al, al
je 0x47a50f
movzx ecx, al
cmp ecx, 1
je 0x47a8e3
cmp ecx, 2
jne 0x47a8c3
mov dword [esi + 0x478], 0xd
mov al, 2
jmp 0x47a8e3
mov eax, dword [0x69acc8]
movzx eax, byte [eax + 8]
test al, al
je 0x47a763
movzx ecx, al
cmp ecx, 1
je 0x47a9e1
cmp ecx, 2
jne 0x47a9ba
mov dword [esi + 0x478], 0xf
mov al, 2
jmp 0x47a9e1
mov dword [esi + 0x478], 0xd
push dword [0x69ad04]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x47a50f
mov ecx, dword [0x69ad04]
movzx eax, al
mov dword [esi + 0x478], 0xd
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x47a50f
mov eax, dword [0x69ad04]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47b0f1
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea edi, [esi + 0x74]
mov dword [esi + str.pop_frame__frame], 0x60a00c
mov dword [esi + 0x244], 1
mov dword [esi + 0x250], 0
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], 1
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], ecx
lea ecx, [eax + 0x1c]
movlps qword [esi + 0x2c], xmm0
mov dword [esi + 0x34], 0
mov dword [esi + 0x58], ecx
lea ecx, [esi + 0x2f8]
mov dword [esi + 0xb4], ecx
lea ecx, [esi + 0xb4]
mov dword [esi + 0xb8], fcn.004320a0
mov dword [esi + 0x248], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0x24c], 1
mov dword [esi + 0x74], ecx
lea ecx, [esi + 0x240]
mov dword [esi + 0x78], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x7c], 0x609d18
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x47a50f
mov byte [esi + 3], 1
mov dword [esi + 0x478], 0xf
push dword [0x69acc8]
call fcn.0059e2f0
add esp, 4
mov edi, dword [esi + 0x1c]
test al, al
je 0x47a763
mov ecx, dword [0x69acc8]
movzx eax, al
mov byte [esi + 3], 1
mov dword [esi + 0x478], 0xf
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
mov edi, dword [esi + 0x1c]
test al, al
je 0x47a763
mov eax, dword [0x69acc8]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47b121
mov ebx, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
cmp ecx, 1
mov dword [esi + 0xf0], 0x609d88
mov dword [esi + 0xf4], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0xf8], 0x609d18
mov dword [esi + 0xfc], 0
mov dword [esi + 0x50], ebx
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], 0
je 0x47b107
mov dword [esi + 0x24], ebx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
mov dword [esi + 0x30], edi
lea edi, [esi + 0x2f8]
lea ecx, [eax + 0x1c]
mov dword [esi + 0x34], 1
mov byte [esi + 3], 1
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], 2
mov dword [esi + 0x98], ecx
lea ecx, [esi + 0x240]
mov dword [esi + 0xd0], ecx
lea ecx, [esi + 0x50]
mov dword [esi + 0x2f8], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0x2fc], ecx
lea ecx, [esi + 0x24]
mov dword [esi + 0x300], 0x609d18
mov dword [esi + 0x304], ecx
lea ecx, [esi + 0xd0]
mov dword [esi + 0x308], ecx
lea ecx, [esi + 0x90]
mov dword [esi + 0x30c], 0x609d90
push ecx
push eax
call fcn.00531b00
add esp, 8
mov edi, dword [esi + 0x1c]
jmp 0x47a763
mov byte [esi + 1], 1
push dword [0x69acf4]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x47a202
mov ecx, dword [0x69acf4]
movzx eax, al
mov byte [esi + 1], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x47a202
mov eax, dword [0x69acf4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x47b155
mov ebx, dword [eax + 0x1c]
mov edx, dword [eax + 0x24]
mov edi, dword [eax + 0x28]
cmp ecx, 1
mov dword [esi + 0xf0], 0x609f78
mov dword [esi + 0xf4], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0xf8], 0x609d18
mov dword [esi + 0xfc], 0
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ecx
mov dword [esi + 0xbc], edx
mov dword [esi + 0xc0], edi
mov dword [esi + 0xc4], 0
je 0x47b13b
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], ecx
mov dword [esi + 0x7c], edx
mov dword [esi + 0x80], edi
lea edi, [esi + 0x24]
lea ecx, [eax + 0x1c]
mov dword [esi + 0x84], 1
mov byte [esi + 1], 1
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1d4], 2
mov dword [esi + 0x1d8], ecx
lea ecx, [esi + 0xb4]
mov dword [esi + 0x24], ecx
lea ecx, [esi + 0xf0]
mov dword [esi + 0x28], ecx
lea ecx, [esi + 0x74]
mov dword [esi + 0x2c], 0x609d18
mov dword [esi + 0x30], ecx
lea ecx, [esi + 0x1b8]
mov dword [esi + 0x34], ecx
lea ecx, [esi + 0x1d0]
mov dword [esi + 0x38], 0x609e8c
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x47a202
mov byte [esi + 1], 1
push dword [0x69acf8]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x47a211
mov ecx, dword [0x69acf8]
movzx eax, al
mov byte [esi + 1], 1
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x47a211
mov eax, dword [0x69acf8]
mov dword [esi + 0x24], 0x609d18
mov dword [esi + 0x28], 0
mov byte [esi + 1], 1
mov eax, dword [eax]
lea ecx, [eax + 0x1c]
mov dword [esi + 0x2c], ecx
lea ecx, [esi + 0x24]
push ecx
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.005310b0
add esp, 0xc
jmp 0x47a225
mov byte [esi + 1], 1
mov dword [esi + 0x478], 8
push dword [0x69acfc]
call fcn.0059e2f0
add esp, 4
test al, al
je 0x47a2cd
mov ecx, dword [0x69acfc]
movzx eax, al
mov byte [esi + 1], 1
mov dword [esi + 0x478], 8
mov ecx, dword [ecx]
push eax
push ecx
call fcn.005313d0
add esp, 8
test al, al
je 0x47a2cd
mov eax, dword [0x69acfc]
mov dword [esi + 0x24], 0x609d18
mov dword [esi + 0x28], 0
mov byte [esi + 1], 1
mov eax, dword [eax]
lea ecx, [eax + 0x1c]
mov dword [esi + 0x2c], ecx
lea ecx, [esi + 0x24]
push ecx
push eax
lea eax, [esi + 0xf0]
push eax
call fcn.005310b0
add esp, 0xc
jmp 0x47a2eb
push dword [0x69ace0]
call fcn.0059e2f0
add esp, 4
test al, al
jne 0x479fd4
jmp 0x47921e
lea eax, [esi + 0xf0]
push dword [ebp + 0x10]
push dword [esi + 0x1c]
push eax
call fcn.004351d0
add esp, 0xc
movzx ebx, byte [esi + 0xf0]
cmp ebx, 4
je 0x47aeac
cmp ebx, 5
je 0x47aed1
mov ecx, dword [esi + 0xf1]
mov edx, dword [esi + 0xf4]
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
mov dword [eax + 1], ecx
jmp 0x47aef5
cmp ebx, 5
je 0x47aef2
lea eax, [esi + 0xf8]
mov ecx, dword [eax - 7]
mov edx, dword [eax - 4]
jmp 0x47aee9
mov edi, dword [0x69acc4]
movzx eax, byte [edi + 8]
test al, al
je 0x4791c0
movzx ecx, al
cmp ecx, 1
je 0x47addc
cmp ecx, 2
jne 0x47af0c
mov al, 2
movzx eax, al
push eax
push dword [edi]
call fcn.005313d0
add esp, 8
test al, al
je 0x4791c0
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x47b16f
mov edi, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea ecx, [eax + 0x1c]
mov dword [esi + 0xf0], 0x609d68
mov dword [esi + 0xf4], 1
mov dword [esi + 0x100], 0
mov dword [esi + 0xf8], 0x609d18
mov dword [esi + 0xfc], 0
mov dword [esi + 0x240], edi
mov dword [esi + 0x244], edx
lea edx, [esi + 0x240]
lea edi, [esi + 0x3b0]
movlps qword [esi + 0x248], xmm0
mov dword [esi + 0x250], 0
mov dword [esi + 0x3b0], edx
lea edx, [esi + 0xf0]
mov dword [esi + 0x2f8], edi
mov dword [esi + 0x2fc], 1
mov dword [esi + 0x300], ecx
lea ecx, [esi + 0x2f8]
mov dword [esi + 0x3b4], edx
mov dword [esi + 0x3b8], 0x609d18
push ecx
push eax
call fcn.00531b00
add esp, 8
jmp 0x4791c0
cmp dword [edi + 0x138], 4
mov bl, 5
jne 0x47aef2
cmp dword [edi + 0x174], 0xfffffef7
mov eax, dword [ebp + 8]
jb 0x479182
jmp 0x47aef5
cmp ebx, 5
jne 0x47aedd
mov bl, 5
jmp 0x47aef2
mov eax, dword [ebp + 8]
mov byte [eax], 4
jmp 0x47aef7
mov ecx, dword [esi + 0xf1]
mov edx, dword [esi + 0xf4]
mov eax, dword [ebp + 8]
mov dword [eax + 4], edx
mov dword [eax + 1], ecx
mov eax, dword [ebp + 8]
mov byte [eax], bl
mov ecx, dword [esi + 0x470]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push edi
call fcn.0059e2f0
add esp, 4
test al, al
jne 0x47addc
jmp 0x4791c0
mov byte [esi + 1], 0
push 0x60575c
push 0xb
push str.invalid_keyC:UsersLitch1.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8_slab_0.4.9_srclib.rsinternal_error:_entered_unreachable_code
call fcn.0059c390
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 0
push 0x60575c
push 0xb
push str.invalid_keyC:UsersLitch1.cargo_registry_srcmirrors.ustc.edu.cn_61ef6e0cd06fb9b8_slab_0.4.9_srclib.rsinternal_error:_entered_unreachable_code
call fcn.0059c390
add esp, 0xc
jmp 0x47b16d
push 0x609ebc
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
push 0x609e9c
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
push 0x609e9c
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 2], 1
push 0x609edc
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f20
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 0xf0], al
mov byte [esi + 3], 0
push 0x609db0
push 0x60a080
lea eax, [esi + 0xf0]
push eax
push 0xd
push str.invalid_frame
call fcn.005a0ed0
add esp, 0x14
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f80
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
push 0x609fd8
push 0x2b
push 0x609fac
call fcn.005a0b60
add esp, 0xc
jmp 0x47b16d
push 0x609fe8
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 3], 1
push 0x609d70
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 3], 1
push 0x609d70
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f54
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
jmp 0x47b16d
mov byte [esi + 1], 1
push 0x609f54
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
ud2
push 0x609d48
push 0x22
push 0x609c42
call fcn.005a0a40
add esp, 0xc
ud2