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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48bcd8
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
push esi
push edi
mov eax, dword [0x4b0040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x14], esi
xor eax, eax
lea edi, [esi + 0x90]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [edi]
inc eax
mov dword [ebp - 0x20], edi
cmp eax, 0x64
jle 0x444e6b
push str.Native_stack_overflow
push esi
call fcn.0044af40
add esp, 8
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18
mov dword [edi], eax
mov dword [ebp - 0xd0], edi
mov ecx, dword [ebp + 0x1c]
xor eax, eax
mov edx, dword [esi + 0x84]
xorps xmm1, xmm1
mov dword [ebp - 4], 0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], edx
cmp ecx, 3
ja case.default.0x444f92
jmp dword [ecx*4 + 0x4480cc]
push dword [ebp + 8]
lea ecx, [esi + 0x58]
call fcn.00439720
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x24]
push 0
push dword [ebp + 0x10]
sub eax, ecx
push ecx
push eax
push dword [esi + 0x5c]
mov ecx, esi
call fcn.0044a3e0
mov ecx, dword [esi + 0x84]
test al, al
jne 0x444ee4
test ecx, ecx
jne 0x444edb
lea eax, [esi + 0x38]
mov ecx, esi
push eax
call fcn.00443f50
mov byte [ebp + 0x17], 0
jmp 0x4480b1
cmp ecx, dword [ebp - 0x10]
jne 0x444f0a
mov ecx, dword [esi + 0x28]
sub ecx, dword [ebp + 0xc]
add ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00439720
mov byte [ebp + 0x17], 1
jmp 0x4480b1
mov dword [ecx + 0x28], 1
xorps xmm1, xmm1
jmp case.default.0x444f92
mov ecx, dword [ebp + 8]
push dword [ebp + 0x14]
push esi
mov ecx, dword [ecx + 4]
call fcn.0043ed70
mov eax, dword [esi + 0x84]
xorps xmm1, xmm1
mov dword [eax + 0x28], 1
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x34], eax
jmp case.default.0x444f92
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x34], eax
mov eax, dword [esi + 0xa0]
mov dword [edx + 0x28], eax
mov dword [esi + 0x9c], 0
cmp ecx, 3
je 0x445453
jmp case.default.0x444f92
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x84]
mov edx, dword [ecx]
mov dword [ebp - 0x18], edx
lea eax, [edx + 8]
mov dword [ecx], eax
mov cl, byte [edx + 4]
movzx eax, cl
cmp eax, 0x3c
ja case.default.0x444f92
jmp dword [eax*4 + 0x4480dc]
cmp byte [esi + 0x48], 0
je case.default.0x444f92
push dword [edx]
mov ecx, esi
push 0x6c
call fcn.00443ce0
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [edx]
mov ecx, dword [ebp - 0x14]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
movzx esi, byte [edx + 5]
add esi, dword [ecx + 0x28]
mov edx, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edx + esi*8]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + edi*8 + 4]
mov dword [edx + esi*8 + 4], ecx
mov eax, dword [eax + edi*8]
mov edi, dword [ebp - 0x20]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x444ffe
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x1c], 0x8000000
mov esi, dword [ebp - 0x14]
je case.default.0x444f92
add dword [ecx + 4], 0xffffffff
jne case.default.0x444f92
mov eax, dword [ecx]
call dword [eax + 4]
xorps xmm1, xmm1
jmp case.default.0x444f92
mov ecx, dword [edx]
mov dword [ebp - 0x1c], ecx
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x10], edx
test dword [edx + ecx*8], 0x8000000
je 0x44505c
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x44505c
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x1c]
xorps xmm1, xmm1
mov dword [edx + ecx*8], 0x5000002
mov dword [edx + ecx*8 + 4], eax
jmp case.default.0x444f92
movzx ecx, byte [edx + 5]
movss xmm0, dword [edx]
add ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
movss dword [ebp + 0xc], xmm0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], edx
test dword [edx + ecx*8], 0x8000000
je 0x4450b2
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x4450b2
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
movss xmm0, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [edx + ecx*8], 0x5000004
xorps xmm1, xmm1
movss dword [edx + ecx*8 + 4], xmm0
jmp case.default.0x444f92
mov eax, dword [edx]
mov ecx, dword [ebp - 0x14]
mov dword [ebp + 0xc], eax
mov eax, dword [esi + 0x84]
movzx esi, byte [edx + 5]
add esi, dword [ecx + 0x28]
mov edx, dword [ecx + 0x18]
mov eax, dword [eax + 4]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edx + esi*8]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + edi*8 + 4]
mov dword [edx + esi*8 + 4], ecx
mov eax, dword [eax + edi*8]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x445113
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x1c], 0x8000000
je 0x445127
add dword [ecx + 4], 0xffffffff
jne 0x445127
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [edx + 7]
movzx esi, byte [edx + 6]
add esi, dword [ecx + 0x28]
mov edx, dword [ecx + 0x18]
mov dword [ebp + 0xc], eax
mov eax, dword [ecx + 0x84]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edx + esi*8]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 4]
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + edi*8 + 4]
mov dword [edx + esi*8 + 4], ecx
mov eax, dword [eax + edi*8]
mov edi, dword [ebp - 0x20]
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x44517b
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
xorps xmm1, xmm1
jmp 0x444ffe
mov eax, dword [edx]
add eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + eax*8], 0x8000100
jne case.0x444f92.6
mov esi, dword [ecx + eax*8 + 4]
mov dword [ebp - 0x24], esi
mov eax, dword [esi + 0x24]
cmp byte [eax + 0x2c], 0
jne 0x4452a9
inc dword [esi + 4]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xd8], 0x8000100
mov dword [ebp - 0xd4], esi
cmp dword [ecx + 0x2c], 0
mov byte [ebp - 4], 1
je 0x4451de
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x28]
lea eax, [eax + edx*8]
push eax
call fcn.004446c0
mov edx, dword [ebp - 0x18]
mov al, byte [edx + 7]
mov dword [ebp - 0x30], 0
test al, al
je 0x44526f
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x30]
mov eax, dword [esi + 0x28]
movzx ecx, byte [edx + 6]
add ecx, eax
add ecx, edi
lea edx, [eax + edi]
mov dword [ebp - 0x10], ecx
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 0x18]
mov ecx, dword [eax + edx*8]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + edx*8 + 4]
mov eax, dword [ebp - 0x10]
mov esi, dword [edi + eax*8 + 4]
mov dword [edi + edx*8 + 4], esi
mov eax, dword [edi + eax*8]
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x14]
mov dword [edi + edx*8], eax
test eax, 0x8000000
je 0x44523b
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x1c], 0x8000000
je 0x44524f
add dword [ecx + 4], 0xffffffff
jne 0x44524f
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x30]
inc edi
mov dword [ebp - 0x30], edi
mov al, byte [edx + 7]
mov byte [ebp + 0xf], al
movzx eax, al
cmp edi, eax
jl 0x4451f6
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
mov al, byte [ebp + 0xf]
mov ecx, dword [ebp - 0x14]
push 1
movzx eax, al
push dword [ecx + 0x28]
push eax
mov eax, dword [ecx + 0x84]
push dword [eax + 0x20]
push esi
call fcn.0044a3e0
test al, al
je 0x447b6a
mov byte [ebp - 4], 3
add dword [esi + 4], 0xffffffff
jne 0x444f6d
mov eax, dword [esi]
mov ecx, esi
jmp 0x444f6a
mov esi, dword [ebp - 0x14]
mov eax, dword [edx]
add eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
mov edi, dword [ecx + eax*8]
mov dword [ebp - 0x2c], edi
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edi
mov dword [ebp + 0xc], edi
lea edi, [esi + 0x90]
mov dword [ebp - 0x28], ecx
test eax, 0x8000000
je 0x4452dc
inc dword [ecx + 4]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 4], 4
cmp eax, 0xa000020
jg 0x44571b
je 0x44572d
cmp eax, 0x8000100
je 0x4456cd
cmp eax, 0x8000200
je 0x44561b
cmp eax, 0x8004000
jne 0x447caa
mov dword [ebp - 0x44], 0x1000001
mov dword [ebp - 0x40], 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x44]
push eax
push ecx
mov ecx, esi
call fcn.00444800
test al, al
je 0x447ba1
mov eax, dword [ebp - 0x18]
mov esi, dword [ebp - 0x40]
mov cl, byte [eax + 5]
cmp cl, 0xff
je 0x44538f
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x44]
movzx edx, cl
add edx, dword [eax + 0x28]
test edi, 0x8000000
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + edx*8]
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8], edi
mov edi, dword [ebp - 0x20]
mov dword [eax + edx*8 + 4], esi
je 0x445378
inc dword [esi + 4]
test dword [ebp + 0xc], 0x8000000
je 0x44538c
add dword [ecx + 4], 0xffffffff
jne 0x44538c
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x8000100
je 0x44558a
cmp ecx, 0x8000200
jne 0x4455f7
movzx edx, byte [eax + 6]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x44]
add edx, dword [eax + 0x28]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x10], edx
mov ecx, dword [eax + edx*8]
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8], edi
mov dword [eax + edx*8 + 4], esi
mov eax, edi
mov edi, dword [ebp - 0x20]
and eax, 0x8000000
mov dword [ebp - 0x38], eax
je 0x4453e0
inc dword [esi + 4]
test dword [ebp + 0xc], 0x8000000
je 0x4453f7
add dword [ecx + 4], 0xffffffff
jne 0x4453f7
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp + 0xf]
push eax
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x18]
push edx
movzx eax, byte [eax + 7]
push eax
push dword [ebp - 0x28]
call fcn.004440e0
test al, al
jne 0x4455f7
cmp dword [ebp - 0x38], 0
mov byte [ebp - 4], 0xe
je 0x445432
add dword [esi + 4], 0xffffffff
jne 0x445432
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0xf
test dword [ebp - 0x2c], 0x8000000
je 0x445450
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x445450
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0x38]
mov esi, dword [esi + 0x3c]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0xb0], esi
test eax, 0x8000000
je 0x445475
inc dword [esi + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x3a
mov eax, dword [edx + 0x24]
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 0x8c]
cmp byte [eax + 0xad], 0
jne 0x44549d
cmp dword [ebp - 0x34], 0
jne 0x4454b0
cmp dword [ebp + 0x18], 0
je 0x4454b0
lea eax, [ebp - 0xb4]
mov ecx, edx
push eax
call fcn.00443f50
mov edx, dword [ebp - 0x14]
nop
mov ecx, dword [edx + 0x84]
mov dword [ebp - 0x38], ecx
test ecx, ecx
je 0x448060
cmp dword [ecx + 0x14], 0
jg 0x447f44
cmp byte [edx + 0x48], 0
mov eax, ecx
je 0x445500
cmp dword [ecx + 0x24], 0
mov dword [ebp - 0x38], 0
jle 0x445500
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 0x38]
push 0
push 0x72
mov ecx, edi
call fcn.00443ce0
mov eax, dword [edi + 0x84]
inc esi
cmp esi, dword [eax + 0x24]
jl 0x4454e6
mov esi, dword [ebp - 0x1c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x38], eax
test eax, eax
je 0x445567
mov dword [eax + 0x64], 2
mov dword [ebp - 0xbc], 0x1000001
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x3c
push ecx
push 0
lea ecx, [eax + 0x20]
call fcn.0043a170
mov edx, dword [ebp - 0x38]
mov byte [ebp - 4], 0x3a
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x1c]
mov dword [edx + 0x18], 0x1000001
mov dword [edx + 0x1c], 0
test eax, 0x8000000
je 0x445567
add dword [ecx + 4], 0xffffffff
jne 0x445567
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x44557e
cmp dword [ecx + 0x28], 0
jne 0x448056
mov ecx, eax
call fcn.004495f0
jmp 0x4454ab
movzx edx, byte [eax + 6]
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x44]
add edx, dword [eax + 0x28]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x10], edx
mov ecx, dword [eax + edx*8]
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8], edi
mov dword [eax + edx*8 + 4], esi
mov eax, edi
mov edi, dword [ebp - 0x20]
and eax, 0x8000000
mov dword [ebp - 0x38], eax
je 0x4455c0
inc dword [esi + 4]
test dword [ebp + 0xc], 0x8000000
je 0x4455d7
add dword [ecx + 4], 0xffffffff
jne 0x4455d7
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
push 0
push edx
movzx eax, byte [eax + 7]
push eax
push 0xffffffffffffffff
push dword [ebp - 0x28]
call fcn.0044a3e0
test al, al
je 0x447b81
test dword [ebp - 0x44], 0x8000000
mov byte [ebp - 4], 0x10
je 0x4458d0
add dword [esi + 4], 0xffffffff
jne 0x4458d0
mov eax, dword [esi]
mov ecx, esi
jmp 0x4458cd
lea eax, [ebp + 0xb]
push eax
lea eax, [ebp - 0x2c]
push eax
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
push eax
movzx eax, byte [edx + 7]
push eax
push ecx
mov ecx, esi
call fcn.004440e0
test al, al
je 0x447be7
cmp byte [ebp + 0xb], 0
mov eax, dword [ebp - 0x18]
jne 0x448012
mov al, byte [eax + 5]
cmp al, 0xff
je 0x4456a3
movzx esi, al
mov eax, dword [ebp - 0x14]
add esi, dword [eax + 0x28]
mov edx, dword [eax + 0x18]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + esi*8], eax
test dword [ebp - 0x2c], 0x8000000
je 0x44568c
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x4456a0
add dword [ecx + 4], 0xffffffff
jne 0x4456a0
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 8
je 0x44570f
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
push 0
push eax
movzx eax, byte [edx + 7]
push eax
movsx eax, byte [edx + 5]
push eax
push ecx
mov ecx, esi
call fcn.0044a3e0
test al, al
je 0x447c12
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 6
je 0x44570f
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
cmp eax, 0xa000080
je 0x44572d
cmp eax, 0xa008000
jne 0x447caa
mov edx, 0x1000001
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov byte [ebp - 4], 0x11
cmp dword [ecx + 0x18], eax
je 0x447c8c
mov eax, dword [ecx]
lea edx, [ebp - 0x4c]
push edx
push 0xb
push esi
mov eax, dword [eax + 0x14]
call eax
test al, al
je 0x447c86
mov esi, dword [esi + 0x24]
mov ecx, dword [ebp - 0x14]
lea eax, [esi + 1]
mov edx, dword [ecx + 0x18]
mov dword [ecx + 0x24], eax
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + esi*8], eax
test dword [ebp - 0x2c], 0x8000000
je 0x445798
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x4457ac
add dword [ecx + 4], 0xffffffff
jne 0x4457ac
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dl, byte [eax + 7]
test dl, dl
je 0x44583b
mov edi, dword [ebp - 0x14]
jmp 0x4457c7
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 0x24]
mov esi, dword [edi + 0x18]
mov dword [ebp + 0xc], esi
movzx esi, byte [eax + 6]
add esi, dword [edi + 0x28]
lea eax, [edx + 1]
mov dword [edi + 0x24], eax
add esi, ecx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x14]
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x445810
mov eax, dword [ebp - 0x10]
inc dword [eax + 4]
test dword [ebp - 0x24], 0x8000000
je 0x445824
add dword [ecx + 4], 0xffffffff
jne 0x445824
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x1c], ecx
mov dl, byte [eax + 7]
movzx eax, dl
cmp ecx, eax
jl 0x4457c4
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
lea eax, [ebp - 0x2c]
push eax
movzx eax, dl
mov ecx, esi
inc eax
push eax
push 0xb
lea eax, [ebp - 0x4c]
push eax
call fcn.00444080
test al, al
je 0x447c3d
mov eax, dword [ebp - 0x18]
mov al, byte [eax + 5]
cmp al, 0xff
je 0x4458b2
movzx esi, al
mov eax, dword [ebp - 0x14]
add esi, dword [eax + 0x28]
mov edx, dword [eax + 0x18]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x2c]
mov dword [edx + esi*8], eax
test dword [ebp - 0x2c], 0x8000000
je 0x44589e
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x4458b2
add dword [ecx + 4], 0xffffffff
jne 0x4458b2
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x4c], 0x8000000
mov byte [ebp - 4], 0x14
je 0x4458d0
mov eax, dword [ebp - 0x48]
add dword [eax + 4], 0xffffffff
jne 0x4458d0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 0x17
je 0x444f6d
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x444f6d
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
jmp 0x444f6a
cmp cl, 8
mov ecx, dword [edx]
jne 0x44590a
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 4]
jmp 0x445910
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
movzx edx, byte [edx + 6]
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0x28]
mov dword [ebp + 0xc], eax
add ecx, edx
mov eax, dword [esi + 0x18]
push edx
push 0
lea ecx, [eax + ecx*8]
lea eax, [esi + 0x58]
mov dword [ebp - 0x1c], ecx
push eax
push dword [ebp + 0xc]
mov dword [ebp - 0x24], eax
push ecx
mov ecx, esi
call fcn.00448ef0
test al, al
je 0x445453
mov eax, dword [ebp - 0x18]
movzx esi, byte [eax + 7]
mov eax, dword [ebp - 0x14]
add esi, dword [eax + 0x28]
mov edx, dword [eax + 0x18]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 4]
mov dword [ebp + 0xc], eax
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x445981
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x445995
add dword [ecx + 4], 0xffffffff
jne 0x445995
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax + 5]
add eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x58]
mov dword [ebp + 0xc], eax
mov edi, eax
mov edx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [esi + edi*8], ecx
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 4]
mov dword [esi + edi*8 + 4], ecx
mov ecx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp 0x444f71
movzx edx, byte [edx + 6]
lea eax, [esi + 0x58]
push edx
mov dword [ebp + 0xc], eax
push 0
push eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 4]
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0x28]
push eax
mov eax, dword [esi + 0x18]
add ecx, edx
lea eax, [eax + ecx*8]
mov ecx, esi
push eax
call fcn.00448ef0
test al, al
je 0x445453
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 5]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x10], eax
mov edi, eax
mov esi, dword [esi + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, dword [esi + eax*8]
mov ecx, dword [ecx]
mov eax, dword [esi + eax*8 + 4]
mov dword [esi + edi*8], ecx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 4]
mov dword [esi + edi*8 + 4], ecx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x20]
mov dword [ecx], edx
mov dword [ecx + 4], eax
jmp 0x444f71
mov eax, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
mov dword [ebp + 0xc], esi
mov esi, dword [edx]
movzx edx, byte [edx + 5]
add esi, eax
add edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x20]
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x444ffe
mov eax, dword [ebp - 0x10]
jmp 0x444ffb
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
push 0
movzx eax, byte [eax + 7]
add eax, edx
lea eax, [ecx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, edx
lea eax, [ecx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, edx
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
call fcn.004496c0
test al, al
je 0x445453
mov ecx, dword [ebp - 0x18]
xorps xmm1, xmm1
mov dl, byte [ecx + 5]
cmp dl, 0xff
je case.default.0x444f92
mov eax, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 7]
add esi, eax
movzx edx, dl
add edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x20]
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x444ffe
mov eax, dword [ebp - 0x10]
jmp 0x444ffb
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
movzx eax, byte [eax + 5]
add eax, ecx
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, ecx
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, ecx
mov ecx, esi
lea eax, [edx + eax*8]
push eax
call fcn.004448a0
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [ebp - 0x14]
mov esi, dword [edx]
push esi
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 7]
add eax, edx
lea eax, [ecx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, edx
lea eax, [ecx + eax*8]
push eax
lea eax, [esi + edx]
mov esi, dword [ebp - 0x14]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
call fcn.0044a180
test al, al
je 0x445453
mov ecx, dword [ebp - 0x18]
xorps xmm1, xmm1
mov dl, byte [ecx + 5]
cmp dl, 0xff
je case.default.0x444f92
mov eax, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 7]
add esi, eax
movzx edx, dl
add edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x20]
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x444ffe
mov eax, dword [ebp - 0x10]
jmp 0x444ffb
mov eax, dword [ebp - 0x14]
mov esi, dword [edx]
push esi
push 0
mov edx, dword [eax + 0x28]
lea ecx, [eax + 0x58]
mov dword [ebp + 0xc], ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x18]
push dword [ebp + 0xc]
movzx eax, byte [eax + 6]
add eax, edx
lea eax, [ecx + eax*8]
push eax
lea eax, [esi + edx]
mov esi, dword [ebp - 0x14]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
call fcn.00448ef0
test al, al
je 0x445453
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 5]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x10], eax
mov edi, eax
jmp 0x445a1b
cmp byte [edx + 7], 0
mov ecx, dword [edx]
je 0x445c6c
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 4]
jmp 0x445c72
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0x18]
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0x1f]
push eax
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
lea eax, [ecx + eax*8]
push eax
call fcn.00449520
add esp, 0xc
test al, al
je 0x445453
mov eax, dword [ebp - 0x18]
cmp byte [ebp + 0x1f], 0
mov edx, dword [ebp - 0x1c]
setne byte [ebp + 0xf]
movzx ecx, byte [eax + 5]
add ecx, dword [esi + 0x28]
mov dword [ebp - 0x10], ecx
test dword [edx + ecx*8], 0x8000000
je 0x445cda
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x445cda
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + 0xf]
xorps xmm1, xmm1
mov dword [edx + ecx*8], 0x1000008
mov dword [edx + ecx*8 + 4], eax
jmp case.default.0x444f92
cmp byte [edx + 7], 0
mov ecx, dword [edx]
je 0x445d04
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 4]
jmp 0x445d0a
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, dword [esi + 0x18]
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0x13]
push eax
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
push dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
lea eax, [ecx + eax*8]
push eax
call fcn.00449520
add esp, 0xc
test al, al
je 0x445453
mov eax, dword [ebp - 0x18]
cmp byte [ebp + 0x13], 0
mov edx, dword [ebp - 0x1c]
sete byte [ebp + 0xf]
movzx ecx, byte [eax + 5]
add ecx, dword [esi + 0x28]
mov dword [ebp - 0x10], ecx
test dword [edx + ecx*8], 0x8000000
je 0x445d72
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x445d72
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + 0xf]
xorps xmm1, xmm1
mov dword [edx + ecx*8], 0x1000008
mov dword [edx + ecx*8 + 4], eax
jmp case.default.0x444f92
mov ecx, dword [esi + 0x18]
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x24], ecx
lea eax, [ecx + eax*8]
mov dword [ebp - 0x18], eax
mov eax, dword [edx]
add eax, dword [esi + 0x28]
lea eax, [ecx + eax*8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
or eax, dword [ebp - 0x1c]
sub eax, 0x5000002
je 0x445e84
sub eax, 2
je 0x445df9
sub eax, 2
je 0x445df9
movzx eax, byte [edx + 5]
push dword [ebp + 0xc]
add eax, dword [esi + 0x28]
push dword [ebp - 0x18]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
push 0x2b
call fcn.00442f70
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
cmp dword [ebp - 0x1c], 0x5000002
mov eax, dword [ebp - 0x18]
jne 0x445e0f
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x445e14
movss xmm0, dword [eax + 4]
cmp dword [ebp - 0x10], 0x5000002
mov eax, dword [ebp + 0xc]
movss dword [ebp - 0x1c], xmm0
jne 0x445e2f
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x445e34
movss xmm0, dword [eax + 4]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
movss dword [ebp + 0xc], xmm0
mov dword [ebp - 0x10], edx
test dword [ecx + edx*8], 0x8000000
je 0x445e65
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x445e65
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
movss xmm0, dword [ebp + 0xc]
xorps xmm1, xmm1
addss xmm0, dword [ebp - 0x1c]
mov dword [ecx + edx*8], 0x5000004
movss dword [ecx + edx*8 + 4], xmm0
jmp case.default.0x444f92
mov eax, dword [ebp + 0xc]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
mov dword [ebp + 0xc], edx
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x18]
add edi, dword [eax + 4]
test dword [ecx + edx*8], 0x8000000
mov dword [ebp - 0x10], edi
lea edi, [esi + 0x90]
je 0x445ec5
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x445ec5
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
xorps xmm1, xmm1
mov dword [ecx + edx*8], 0x5000002
mov dword [ecx + edx*8 + 4], eax
jmp case.default.0x444f92
mov ecx, dword [esi + 0x18]
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x24], ecx
lea eax, [ecx + eax*8]
mov dword [ebp + 0xc], eax
mov eax, dword [edx]
add eax, dword [esi + 0x28]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
or eax, dword [ebp - 0x1c]
sub eax, 0x5000002
je 0x445fd6
sub eax, 2
je 0x445f4b
sub eax, 2
je 0x445f4b
movzx eax, byte [edx + 5]
push dword [ebp - 0x18]
add eax, dword [esi + 0x28]
push dword [ebp + 0xc]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
push 0x2d
call fcn.00442f70
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
cmp dword [ebp - 0x1c], 0x5000002
mov eax, dword [ebp + 0xc]
jne 0x445f61
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x445f66
movss xmm0, dword [eax + 4]
cmp dword [ebp - 0x10], 0x5000002
mov eax, dword [ebp - 0x18]
movss dword [ebp + 0xc], xmm0
jne 0x445f81
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x445f86
movss xmm0, dword [eax + 4]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
movss dword [ebp - 0x1c], xmm0
mov dword [ebp - 0x10], edx
test dword [ecx + edx*8], 0x8000000
je 0x445fb7
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x445fb7
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
movss xmm0, dword [ebp + 0xc]
xorps xmm1, xmm1
subss xmm0, dword [ebp - 0x1c]
mov dword [ecx + edx*8], 0x5000004
movss dword [ecx + edx*8 + 4], xmm0
jmp case.default.0x444f92
mov eax, dword [ebp + 0xc]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
mov dword [ebp - 0x10], edx
mov eax, dword [eax + 4]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp + 0xc]
sub edi, dword [eax + 4]
test dword [ecx + edx*8], 0x8000000
mov dword [ebp + 0xc], edi
lea edi, [esi + 0x90]
je 0x44601d
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x44601d
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 0xc]
xorps xmm1, xmm1
mov dword [ecx + edx*8], 0x5000002
mov dword [ecx + edx*8 + 4], eax
jmp case.default.0x444f92
mov ecx, dword [esi + 0x18]
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x24], ecx
lea eax, [ecx + eax*8]
mov dword [ebp - 0x18], eax
mov eax, dword [edx]
add eax, dword [esi + 0x28]
lea eax, [ecx + eax*8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x10], eax
or eax, dword [ebp - 0x1c]
sub eax, 0x5000002
je 0x44612e
sub eax, 2
je 0x4460a3
sub eax, 2
je 0x4460a3
movzx eax, byte [edx + 5]
push dword [ebp + 0xc]
add eax, dword [esi + 0x28]
push dword [ebp - 0x18]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
push 0x2a
call fcn.00442f70
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
cmp dword [ebp - 0x1c], 0x5000002
mov eax, dword [ebp - 0x18]
jne 0x4460b9
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x4460be
movss xmm0, dword [eax + 4]
cmp dword [ebp - 0x10], 0x5000002
mov eax, dword [ebp + 0xc]
movss dword [ebp - 0x1c], xmm0
jne 0x4460d9
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x4460de
movss xmm0, dword [eax + 4]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
movss dword [ebp + 0xc], xmm0
mov dword [ebp - 0x10], edx
test dword [ecx + edx*8], 0x8000000
je 0x44610f
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x44610f
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x10]
movss xmm0, dword [ebp + 0xc]
xorps xmm1, xmm1
mulss xmm0, dword [ebp - 0x1c]
mov dword [ecx + edx*8], 0x5000004
movss dword [ecx + edx*8 + 4], xmm0
jmp case.default.0x444f92
mov eax, dword [ebp + 0xc]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
mov dword [ebp + 0xc], edx
mov edi, dword [eax + 4]
mov eax, dword [ebp - 0x18]
imul edi, dword [eax + 4]
test dword [ecx + edx*8], 0x8000000
mov dword [ebp - 0x10], edi
lea edi, [esi + 0x90]
je 0x446170
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x446170
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
xorps xmm1, xmm1
mov dword [ecx + edx*8], 0x5000002
mov dword [ecx + edx*8 + 4], eax
jmp case.default.0x444f92
mov ecx, dword [esi + 0x18]
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x1c], ecx
lea eax, [ecx + eax*8]
mov dword [ebp + 0xc], eax
mov eax, dword [edx]
add eax, dword [esi + 0x28]
mov edi, dword [ebp + 0xc]
lea eax, [ecx + eax*8]
mov edi, dword [edi]
mov dword [ebp - 0x30], eax
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
or eax, edi
mov dword [ebp - 0x10], edi
lea edi, [esi + 0x90]
sub eax, 0x5000002
je 0x44627e
sub eax, 2
je 0x4461f9
sub eax, 2
je 0x4461f9
mov eax, dword [ebp - 0x30]
push eax
movzx eax, byte [edx + 5]
add eax, dword [esi + 0x28]
push dword [ebp + 0xc]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
push 0x2f
call fcn.00442f70
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
cmp dword [ebp - 0x10], 0x5000002
mov eax, dword [ebp + 0xc]
jne 0x44620f
movd xmm0, dword [eax + 4]
cvtdq2ps xmm0, xmm0
jmp 0x446214
movss xmm0, dword [eax + 4]
cmp dword [ebp - 0x24], 0x5000002
mov eax, dword [ebp - 0x30]
jne 0x44622a
movd xmm1, dword [eax + 4]
cvtdq2ps xmm1, xmm1
jmp 0x44622f
movss xmm1, dword [eax + 4]
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
divss xmm0, xmm1
mov dword [ebp - 0x10], edx
test dword [ecx + edx*8], 0x8000000
movss dword [ebp + 0xc], xmm0
je 0x446269
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x446269
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
movss xmm0, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov dword [ecx + edx*8], 0x5000004
xorps xmm1, xmm1
movss dword [ecx + edx*8 + 4], xmm0
jmp case.default.0x444f92
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 4]
mov dword [ebp - 0x10], eax
test eax, eax
je 0x447ced
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cdq
idiv dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
movzx edx, byte [eax + 5]
add edx, dword [esi + 0x28]
mov dword [ebp + 0xc], edx
test dword [ecx + edx*8], 0x8000000
je 0x4462cb
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x4462cb
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
xorps xmm1, xmm1
mov dword [ecx + edx*8], 0x5000002
mov dword [ecx + edx*8 + 4], eax
jmp case.default.0x444f92
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov eax, dword [eax]
add eax, ecx
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, ecx
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 5]
add eax, ecx
mov ecx, esi
lea eax, [edx + eax*8]
push eax
push 0x25
call fcn.00442f70
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x30], eax
mov eax, dword [edx]
mov edi, dword [ebp - 0x30]
add eax, ecx
lea eax, [edi + eax*8]
mov dword [ebp + 0xc], eax
movzx eax, byte [edx + 6]
add eax, ecx
lea edi, [edi + eax*8]
movzx eax, byte [edx + 5]
add eax, ecx
mov dword [ebp - 0x10], edi
movzx ecx, byte [edx + 7]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi]
lea edi, [esi + 0x90]
or eax, dword [edx]
cmp eax, 0x5000002
jne 0x447d13
mov eax, dword [ebp - 0x10]
mov edx, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
cmp ecx, 6
ja case.0x446379.1
jmp dword [ecx*4 + 0x4481d0]
and eax, edx
mov dword [ebp + 0xc], eax
jmp 0x4463a8
or eax, edx
mov dword [ebp + 0xc], eax
jmp 0x4463a8
xor eax, edx
mov dword [ebp + 0xc], eax
jmp 0x4463a8
mov ecx, eax
shl edx, cl
jmp 0x4463a5
mov ecx, eax
sar edx, cl
jmp 0x4463a5
mov ecx, eax
shr edx, cl
mov dword [ebp + 0xc], edx
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
test dword [ecx + edx*8], 0x8000000
je 0x4463d0
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x4463d0
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
xorps xmm1, xmm1
mov dword [ecx + edx*8], 0x5000002
mov dword [ecx + edx*8 + 4], eax
jmp case.default.0x444f92
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x10]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x446456
mov dword [eax + 0x64], 2
mov dword [ebp - 0xac], 0x1000001
mov dword [ebp - 0xa8], 0
lea ecx, [ebp - 0xac]
mov byte [ebp - 4], 0x18
push ecx
push 0
lea ecx, [eax + 0x20]
call fcn.0043a170
mov edx, dword [ebp + 0xc]
mov byte [ebp - 4], 0
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x1c]
mov dword [edx + 0x18], 0x1000001
mov dword [edx + 0x1c], 0
test eax, 0x8000000
je 0x446453
add dword [ecx + 4], 0xffffffff
jne 0x446453
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
lea eax, [esi + 0x58]
mov ecx, esi
push eax
push dword [edx]
movzx eax, byte [edx + 5]
push eax
call fcn.0044a0a0
test al, al
je 0x44501d
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0x14]
mov ecx, dword [esi + 0x58]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi], ecx
mov ecx, dword [esi + 0x5c]
mov dword [edi + 4], ecx
lea edi, [esi + 0x90]
mov dword [esi + 0x5c], eax
mov al, 1
mov dword [esi + 0x58], edx
jmp 0x4480b4
xor eax, eax
mov dword [ebp + 0xc], eax
cmp dword [edx], eax
jle case.default.0x444f92
mov edi, dword [ebp - 0x14]
nop dword [eax]
movzx esi, byte [edx + 5]
mov edx, dword [edi + 0x18]
add esi, eax
add esi, dword [edi + 0x28]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [edx + esi*8], 0x1000001
mov dword [edx + esi*8 + 4], 0
test eax, 0x8000000
je 0x4464e4
add dword [ecx + 4], 0xffffffff
jne 0x4464e4
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
inc eax
mov dword [ebp + 0xc], eax
cmp eax, dword [edx]
jl 0x4464b0
mov edi, dword [ebp - 0x20]
jmp 0x444f71
mov eax, dword [esi + 0x84]
movzx esi, byte [edx + 5]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x1c]
mov dword [ebp + 0xc], eax
cmp dword [eax + 0xc], 0x1000001
mov eax, dword [ebp - 0x14]
mov edx, dword [eax + 0x18]
je 0x446552
add esi, dword [eax + 0x28]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
mov dword [edx + esi*8 + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x444ffe
mov eax, dword [ebp - 0x10]
jmp 0x444ffb
add esi, dword [eax + 0x28]
mov edi, dword [eax + 0x34]
mov dword [ebp + 0xc], edi
mov ecx, dword [edx + esi*8]
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + esi*8 + 4]
mov dword [edx + esi*8 + 4], edi
mov eax, dword [eax + 0x30]
mov edi, dword [ebp - 0x20]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x44657f
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
jmp 0x445005
movzx ecx, byte [edx + 5]
mov eax, dword [edx]
add ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov dword [ebp - 0x1c], eax
mov dword [ebp + 0xc], ecx
mov dword [ebp - 0x10], edx
test dword [edx + ecx*8], 0x8000000
je 0x4465c2
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x4465c2
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x10]
xor eax, eax
mov dword [edx + ecx*8], 0x1000008
cmp dword [ebp - 0x1c], eax
xorps xmm1, xmm1
setne al
mov dword [edx + ecx*8 + 4], eax
jmp case.default.0x444f92
mov eax, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
mov dword [ebp + 0xc], esi
mov esi, dword [edx]
movzx edx, byte [edx + 5]
add esi, eax
add edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x44661d
mov eax, edi
inc dword [eax + 4]
test dword [ebp - 0x1c], 0x8000000
je 0x446631
add dword [ecx + 4], 0xffffffff
jne 0x446631
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x28]
mov esi, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x18]
mov dword [ebp + 0xc], esi
movzx esi, byte [ecx + 7]
movzx edx, byte [ecx + 6]
add esi, eax
add edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], edi
mov edi, dword [ebp - 0x20]
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x44667d
mov eax, dword [ebp - 0x10]
inc dword [eax + 4]
xorps xmm1, xmm1
jmp 0x444ffe
mov edx, dword [esi + 0x18]
lea eax, [esi + 0x58]
push eax
mov eax, dword [ebp - 0x18]
mov ecx, esi
movzx eax, byte [eax + 5]
add eax, dword [esi + 0x28]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, dword [esi + 0x28]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 7]
push eax
call fcn.00443a90
test al, al
je 0x445453
mov eax, dword [esi + 0x58]
xorps xmm1, xmm1
test eax, 0x1000000
je 0x4466e1
cmp eax, 0x5000004
jne 0x4466e1
movss xmm0, dword [esi + 0x5c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x4466eb
cmp dword [esi + 0x5c], 0
jne case.default.0x444f92
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x84]
mov eax, dword [eax]
shl eax, 3
add dword [ecx], eax
jmp case.default.0x444f92
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
test dword [eax + ecx*8], 0x1000000
je 0x44672e
cmp dword [eax + ecx*8], 0x5000004
jne 0x44672e
movss xmm0, dword [eax + ecx*8 + 4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp case.0x444f92.28
mov eax, dword [esi + 0x18]
cmp dword [eax + ecx*8 + 4], 0
jne case.default.0x444f92
mov ecx, dword [esi + 0x84]
mov eax, dword [edx]
shl eax, 3
add dword [ecx], eax
jmp case.default.0x444f92
mov eax, dword [esi + 0x84]
mov ecx, dword [edx]
movzx esi, byte [edx + 5]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x18]
add esi, dword [ecx + 0x28]
mov edx, dword [ecx + 0x18]
mov edi, dword [eax + 4]
mov dword [ebp + 0xc], edi
mov ecx, dword [edx + esi*8]
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + esi*8 + 4]
mov dword [edx + esi*8 + 4], edi
mov eax, dword [eax]
mov edi, dword [ebp - 0x20]
mov dword [edx + esi*8], eax
test eax, 0x8000000
je 0x446796
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
jmp 0x445005
movzx eax, byte [edx + 6]
add eax, dword [esi + 0x28]
mov ecx, dword [edx]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [esi + 0x18]
mov eax, dword [eax + 0x84]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*8 + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
mov edi, dword [esi + eax*8 + 4]
mov dword [edx + 4], edi
mov eax, dword [esi + eax*8]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x20]
mov dword [edx], eax
test eax, 0x8000000
je 0x4467f1
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x446805
add dword [ecx + 4], 0xffffffff
jne 0x446805
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
xorps xmm1, xmm1
mov al, byte [edx + 5]
mov byte [ebp + 0xf], al
cmp al, 0xff
je 0x444f74
mov ecx, dword [ebp - 0x14]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x1c], esi
movzx esi, byte [edx + 6]
add esi, dword [ecx + 0x28]
movzx edx, al
add edx, dword [ecx + 0x28]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*8]
mov edi, dword [eax + esi*8 + 4]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov eax, dword [eax + esi*8]
mov esi, dword [ebp - 0x1c]
mov dword [ebp + 0xc], edi
mov edi, dword [ebp - 0x20]
mov dword [esi + edx*8], eax
test eax, 0x8000000
je 0x446860
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
jmp 0x445005
movzx eax, byte [edx + 7]
sub eax, 0
je 0x446951
sub eax, 1
je 0x4468b3
sub eax, 1
jne case.default.0x444f92
movzx eax, byte [edx + 6]
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
push eax
mov eax, dword [esi + 0x18]
push dword [edx]
lea eax, [eax + ecx*8]
mov ecx, esi
push eax
call fcn.00443560
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
push 0
push dword [esi + 0x8c]
call fcn.00444740
mov dword [ebp + 0xc], eax
add esp, 8
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp + 0xc]
movzx esi, byte [eax + 5]
mov eax, dword [ebp - 0x14]
add esi, dword [eax + 0x28]
mov edx, dword [eax + 0x18]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [edx + esi*8 + 4], edi
mov dword [edx + esi*8], 0x8000040
mov edx, edi
mov edi, dword [ebp - 0x20]
inc dword [edx + 4]
test eax, 0x8000000
je 0x446905
add dword [ecx + 4], 0xffffffff
jne 0x446905
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov esi, 4
mov eax, dword [ebp - 0x14]
movzx ecx, byte [edx + 5]
add ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + ecx*8 + 4]
mov eax, dword [edx]
add ecx, 0x18
test eax, eax
mov dword [ebp + 0xc], ecx
cmovne esi, eax
lea eax, [esi*8]
push eax
mov eax, dword [ecx + 8]
shl eax, 3
push eax
push dword [ecx]
call fcn.0043da80
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov dword [ecx], eax
mov dword [ecx + 8], esi
jmp 0x444f71
mov edi, dword [ebp - 0x14]
mov esi, dword [edx]
push 0x2c
mov eax, dword [edi + 0x8c]
mov dword [ebp - 0x10], eax
call fcn.0043da70
add esp, 4
mov dword [ebp + 0xc], eax
mov ecx, eax
push esi
push dword [ebp - 0x10]
call fcn.0044b2f0
mov eax, dword [ebp + 0xc]
xorps xmm1, xmm1
mov dword [eax + 0x18], 0
mov eax, dword [ebp - 0x18]
mov edx, dword [edi + 0x18]
movzx esi, byte [eax + 5]
add esi, dword [edi + 0x28]
mov edi, dword [ebp + 0xc]
mov eax, dword [edx + esi*8]
mov ecx, dword [edx + esi*8 + 4]
mov dword [edx + esi*8 + 4], edi
mov dword [edx + esi*8], 0xa000020
mov edx, edi
mov edi, dword [ebp - 0x20]
inc dword [edx + 4]
test eax, 0x8000000
jmp 0x445005
movzx eax, byte [edx + 6]
xor ecx, ecx
mov dword [ebp - 0x18], ecx
cmp eax, 4
ja case.default.0x4469c6
jmp dword [eax*4 + 0x4481ec]
mov ecx, dword [esi + 0x28]
add ecx, dword [edx]
mov eax, dword [esi + 0x18]
mov edi, dword [eax + ecx*8]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x18], ecx
jmp 0x446a0a
mov eax, dword [esi + 0x84]
mov ecx, dword [eax + 4]
mov eax, dword [edx]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov dword [ebp + 0xc], edi
mov dword [ebp - 0x18], ecx
jmp 0x446a0a
mov ecx, dword [edx]
mov dword [ebp - 0x18], ecx
mov dword [ebp + 0xc], 0x5000002
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
mov edx, dword [eax + ecx*8 + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xe8], ecx
and ecx, 0x8000000
mov dword [ebp - 0x30], edx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x10], ecx
je 0x446a3b
inc dword [eax + 4]
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x1c]
mov byte [ebp - 4], 0x1a
cmp ecx, eax
ja 0x446a7a
add eax, eax
mov esi, 4
cmovne esi, eax
lea eax, [esi*8]
push eax
lea eax, [ecx*8]
push eax
push dword [edx + 0x18]
call fcn.0043da80
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov dword [edx + 0x20], esi
mov esi, dword [ebp - 0x14]
mov dword [edx + 0x18], eax
cmp dword [ebp - 0x10], 0
mov edx, dword [edx + 0x1c]
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x30]
mov ecx, dword [eax + 0x18]
lea eax, [edx + 1]
mov dword [edi + 0x1c], eax
lea edi, [esi + 0x90]
mov eax, dword [ebp + 0xc]
mov dword [ecx + edx*8], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + edx*8 + 4], eax
je 0x446aa8
inc dword [eax + 4]
test dword [ebp + 0xc], 0x8000000
mov byte [ebp - 4], 0x1b
je 0x44570f
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
movss xmm0, dword [edx]
movss dword [ebp - 0xdc], xmm0
mov ecx, dword [ebp - 0xdc]
mov dword [ebp + 0xc], 0x5000004
mov dword [ebp - 0x18], ecx
jmp 0x446a0a
mov ecx, dword [edx]
mov dword [ebp + 0xc], 0x1000008
mov dword [ebp - 0x18], ecx
jmp 0x446a0a
mov eax, dword [edx]
mov ecx, eax
mov edx, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
movzx eax, ax
add eax, edx
shr ecx, 0x10
push ecx
push 0
lea eax, [esi + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, edx
lea eax, [esi + eax*8]
push eax
lea eax, [ecx + edx]
mov ecx, dword [ebp - 0x18]
lea eax, [esi + eax*8]
push eax
movzx eax, byte [ecx + 5]
add eax, edx
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x14]
push eax
movzx eax, byte [ecx + 7]
mov ecx, esi
push eax
call fcn.00444ae0
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
movsx eax, byte [edx + 7]
mov dword [ebp - 0x6c], 0x5000002
mov dword [ebp - 0x68], eax
mov ecx, dword [edx]
lea eax, [ebp - 0x6c]
mov edx, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
push ecx
push 0
push eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x1c
movzx eax, byte [eax + 6]
add eax, edx
lea eax, [esi + eax*8]
push eax
lea eax, [ecx + edx]
lea eax, [esi + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 5]
add eax, edx
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x14]
push eax
push 0x2b
mov ecx, esi
call fcn.00444ae0
test al, al
je 0x447d3d
test dword [ebp - 0x6c], 0x8000000
mov byte [ebp - 4], 0x1e
je 0x44570f
mov eax, dword [ebp - 0x68]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
mov ecx, dword [esi + 0x28]
add ecx, dword [edx]
mov eax, dword [esi + 0x18]
lea ecx, [eax + ecx*8]
mov eax, dword [ecx]
mov dword [ebp + 0xc], ecx
cmp eax, 0x5000002
jne 0x446c0d
movsx eax, byte [edx + 7]
add dword [ecx + 4], eax
jmp case.default.0x444f92
movsx edx, byte [edx + 7]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x74], 0x5000002
mov dword [ebp - 0x70], edx
or eax, 0x5000002
mov byte [ebp - 4], 0x1f
sub eax, 0x5000002
je 0x446cc7
sub eax, 2
je 0x446c7e
sub eax, 2
je 0x446c7e
lea eax, [ebp - 0x74]
push eax
push ecx
push ecx
push 0x2b
mov ecx, esi
call fcn.00442f70
test al, al
jne 0x446cf2
test dword [ebp - 0x74], 0x8000000
mov byte [ebp - 4], 0x20
je 0x445453
mov eax, dword [ebp - 0x70]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ecx], 0x8000000
movss xmm0, dword [ecx + 4]
movss dword [ebp - 0x1c], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x10], xmm0
je 0x446cb5
mov eax, dword [ecx + 4]
add dword [eax + 4], 0xffffffff
jne 0x446cb5
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
call dword [eax + 4]
movss xmm0, dword [ebp - 0x10]
mov ecx, dword [ebp + 0xc]
addss xmm0, dword [ebp - 0x1c]
mov dword [ecx], 0x5000004
movss dword [ecx + 4], xmm0
jmp 0x446cf2
mov edx, dword [ecx + 4]
add dword [ebp - 0x10], edx
test dword [ecx], 0x8000000
je 0x446ce6
add dword [edx + 4], 0xffffffff
jne 0x446ce6
mov ecx, dword [ecx + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x10]
mov dword [ecx], 0x5000002
mov dword [ecx + 4], eax
test dword [ebp - 0x74], 0x8000000
mov byte [ebp - 4], 0x21
je 0x44570f
mov eax, dword [ebp - 0x70]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
movsx eax, byte [edx + 7]
mov dword [ebp - 0x7c], 0x5000002
mov dword [ebp - 0x78], eax
mov ecx, dword [edx]
lea eax, [ebp - 0x7c]
mov edx, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
push ecx
push 1
push eax
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x22
movzx eax, byte [eax + 6]
add eax, edx
lea eax, [esi + eax*8]
push eax
lea eax, [edx + ecx]
lea eax, [esi + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 5]
add eax, edx
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0x14]
push eax
push 0x2b
mov ecx, esi
call fcn.00444ae0
test al, al
je 0x447d68
test dword [ebp - 0x7c], 0x8000000
mov byte [ebp - 4], 0x24
je 0x44570f
mov eax, dword [ebp - 0x78]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [edx]
add eax, dword [esi + 0x28]
cmp dword [ecx + eax*8], 0x5000002
mov dword [ebp - 0x30], ecx
lea eax, [ecx + eax*8]
mov dword [ebp + 0xc], eax
jne 0x446e31
movzx edx, byte [edx + 5]
add edx, dword [ebp - 0x10]
mov edi, dword [eax + 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x30]
mov esi, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x1c]
mov dword [edi + edx*8 + 4], esi
mov esi, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [edi + edx*8], eax
lea edi, [esi + 0x90]
test eax, 0x8000000
je 0x446e08
mov eax, dword [ebp - 0x1c]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x446e1c
add dword [ecx + 4], 0xffffffff
jne 0x446e1c
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
xorps xmm1, xmm1
mov ecx, dword [ebp + 0xc]
movsx eax, byte [eax + 7]
add dword [ecx + 4], eax
jmp case.default.0x444f92
movsx eax, byte [edx + 7]
mov dword [ebp - 0x84], 0x5000002
mov dword [ebp - 0x80], eax
movzx eax, byte [edx + 5]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x5c], 0x1000001
mov dword [ebp - 0x58], 0
lea eax, [ebp - 0x84]
mov byte [ebp - 4], 0x26
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x5c]
mov ecx, esi
push eax
push 0x2b
call fcn.00442f70
test al, al
je 0x447d93
mov eax, dword [ebp - 0x30]
mov edi, dword [ebp - 0x1c]
mov edx, dword [ebp + 0xc]
mov ecx, dword [eax + edi*8]
mov esi, dword [edx + 4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + edi*8 + 4]
mov dword [eax + edi*8 + 4], esi
mov edi, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x1c]
mov dword [edi + esi*8], eax
mov esi, dword [ebp - 0x14]
test eax, 0x8000000
je 0x446eb5
mov eax, dword [ebp - 0x10]
inc dword [eax + 4]
test dword [ebp - 0x24], 0x8000000
je 0x446ecc
add dword [ecx + 4], 0xffffffff
jne 0x446ecc
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edi, dword [ebp + 0xc]
mov ecx, dword [edx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x58]
mov dword [edx + 4], eax
mov edx, dword [ebp - 0x5c]
mov dword [edi], edx
lea edi, [esi + 0x90]
test edx, 0x8000000
je 0x446ef3
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x446f07
add dword [ecx + 4], 0xffffffff
jne 0x446f07
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x5c], 0x8000000
mov byte [ebp - 4], 0x28
je 0x446f25
mov eax, dword [ebp - 0x58]
add dword [eax + 4], 0xffffffff
jne 0x446f25
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x84], 0x8000000
mov byte [ebp - 4], 0x2a
je 0x44570f
mov eax, dword [ebp - 0x80]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [ebp - 0x18]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
movzx eax, byte [eax + 5]
add eax, ecx
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, ecx
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, ecx
mov ecx, esi
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 7]
push eax
call fcn.00443a90
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
mov ecx, dword [esi + 0x18]
lea eax, [esi + 0x58]
push 0x29a
push 3
push eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, dword [esi + 0x28]
lea eax, [ecx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, dword [esi + 0x28]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
call fcn.00448ef0
mov edx, dword [esi + 0x18]
mov byte [ebp + 0xf], al
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edx
movzx ecx, byte [eax + 5]
add ecx, dword [esi + 0x28]
mov dword [ebp - 0x10], ecx
test dword [edx + ecx*8], 0x8000000
je 0x44700b
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x44700b
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + 0xf]
xorps xmm1, xmm1
mov dword [edx + ecx*8], 0x1000008
mov dword [edx + ecx*8 + 4], eax
jmp case.default.0x444f92
mov eax, dword [edx]
add eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
mov dword [ebp + 0xc], eax
cmp dword [ecx + eax*8], 0x8004000
movzx eax, byte [edx + 6]
jne 0x447ddf
add eax, dword [esi + 0x28]
cmp dword [ecx + eax*8], 0xa008000
jne 0x447062
mov edx, dword [ebp + 0xc]
push dword [ecx + edx*8 + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00453a80
mov edx, dword [ebp - 0x18]
mov byte [ebp + 0xf], al
jmp 0x447066
mov byte [ebp + 0xf], 0
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x1c], edx
test dword [edx + ecx*8], 0x8000000
je 0x447098
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x447098
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
movzx eax, byte [ebp + 0xf]
xorps xmm1, xmm1
mov dword [edx + ecx*8], 0x1000008
mov dword [edx + ecx*8 + 4], eax
jmp case.default.0x444f92
mov eax, dword [esi + 0x28]
movzx ecx, byte [edx + 6]
add ecx, dword [esi + 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x18]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x1c], ecx
test dword [eax + ecx*8], 0x1000000
je 0x4470e9
cmp dword [eax + ecx*8], 0x5000004
jne 0x4470e9
movss xmm0, dword [eax + ecx*8 + 4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
mov eax, dword [ebp + 0xc]
jnp 0x4470f4
cmp dword [eax + ecx*8 + 4], 0
jne case.default.0x444f92
movzx edx, byte [edx + 5]
add edx, dword [ebp - 0x10]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*8]
mov esi, dword [eax + edi*8 + 4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], esi
mov eax, dword [eax + edi*8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 0x14]
mov dword [edi + edx*8], eax
lea edi, [esi + 0x90]
test eax, 0x8000000
je 0x447132
mov eax, dword [ebp - 0x10]
inc dword [eax + 4]
test dword [ebp - 0x24], 0x8000000
je 0x447146
add dword [ecx + 4], 0xffffffff
jne 0x447146
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
xorps xmm1, xmm1
mov ecx, dword [esi + 0x84]
mov eax, dword [eax]
shl eax, 3
add dword [ecx], eax
jmp case.default.0x444f92
movzx ecx, byte [edx + 6]
mov eax, dword [esi + 0x18]
add ecx, dword [esi + 0x28]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x10], ecx
test dword [eax + ecx*8], 0x1000000
je 0x447196
cmp dword [eax + ecx*8], 0x5000004
jne 0x447196
movss xmm0, dword [eax + ecx*8 + 4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp case.default.0x444f92
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je case.default.0x444f92
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [eax + edx*8]
mov dword [ebp - 0x24], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], edi
mov edi, dword [ebp - 0x10]
mov eax, dword [eax + edi*8]
mov edi, dword [ebp + 0xc]
mov dword [edi + edx*8], eax
lea edi, [esi + 0x90]
test eax, 0x8000000
je 0x4471dc
mov eax, dword [ebp - 0x1c]
inc dword [eax + 4]
test dword [ebp - 0x24], 0x8000000
je 0x447146
add dword [ecx + 4], 0xffffffff
jne 0x447146
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x18]
xorps xmm1, xmm1
mov ecx, dword [esi + 0x84]
mov eax, dword [eax]
shl eax, 3
add dword [ecx], eax
jmp case.default.0x444f92
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x18]
mov eax, dword [eax]
add eax, dword [esi + 0x28]
lea eax, [edx + eax*8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 5]
add eax, dword [esi + 0x28]
lea ecx, [edx + eax*8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x1c], ecx
mov eax, dword [edx]
cmp eax, 0xa000020
jg 0x447281
je 0x447293
sub eax, 0x5000002
je 0x44726e
sub eax, 2
jne 0x447e6a
movss xmm0, dword [edx + 4]
xorps xmm0, xmmword [0x4a6720]
push ecx
movss dword [esp], xmm0
call fcn.00442d40
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [edx + 4]
neg eax
push eax
call fcn.00442d00
xorps xmm1, xmm1
jmp case.default.0x444f92
cmp eax, 0xa000080
je 0x447293
cmp eax, 0xa008000
jne 0x447e6a
mov ecx, dword [edx + 4]
cmp dword [ecx + 0x18], 0
je 0x447e6a
mov dword [ebp - 0x54], 0x1000001
mov dword [ebp - 0x50], 0
mov eax, dword [ecx]
lea edx, [ebp - 0x54]
push edx
push 4
push esi
mov eax, dword [eax + 0x14]
mov byte [ebp - 4], 0x2b
call eax
test al, al
je 0x447e45
mov eax, dword [ebp + 0xc]
mov ecx, esi
push eax
call fcn.00449fb0
lea eax, [esi + 0x58]
mov ecx, esi
push eax
push 1
push 4
lea eax, [ebp - 0x54]
push eax
call fcn.00444080
test al, al
je 0x447e1a
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [esi + 0x58]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [edi], ecx
mov ecx, dword [esi + 0x5c]
mov dword [edi + 4], ecx
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
test dword [ebp - 0x54], 0x8000000
lea edi, [esi + 0x90]
mov byte [ebp - 4], 0x2d
je 0x44570f
mov eax, dword [ebp - 0x50]
add dword [eax + 4], 0xffffffff
jne 0x44570f
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [edx]
mov ecx, dword [esi + 0x18]
add eax, dword [esi + 0x28]
mov dword [ebp - 0x10], ecx
mov dword [ebp + 0xc], eax
test dword [ecx + eax*8], 0x1000000
je 0x447374
cmp dword [ecx + eax*8], 0x5000004
jne 0x447374
movss xmm0, dword [ecx + eax*8 + 4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x44737b
mov eax, dword [ebp + 0xc]
cmp dword [ecx + eax*8 + 4], 0
jne 0x447384
mov dword [ebp + 0xc], 1
jmp 0x44738b
mov dword [ebp + 0xc], 0
movzx edx, byte [edx + 5]
add edx, dword [esi + 0x28]
mov dword [ebp - 0x1c], edx
test dword [ecx + edx*8], 0x8000000
je 0x4473b7
mov eax, dword [ecx + edx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x4473b7
mov ecx, dword [ecx + edx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
xorps xmm1, xmm1
mov dword [ecx + edx*8], 0x1000008
mov dword [ecx + edx*8 + 4], eax
jmp case.default.0x444f92
mov eax, dword [edx]
mov ecx, dword [esi + 0x18]
add eax, dword [esi + 0x28]
cmp dword [ecx + eax*8], 0x5000002
mov dword [ebp + 0xc], ecx
lea eax, [ecx + eax*8]
jne 0x447e84
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov edx, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], ecx
test dword [edx + ecx*8], 0x8000000
je 0x447420
mov eax, dword [edx + ecx*8 + 4]
add dword [eax + 4], 0xffffffff
jne 0x44741d
mov ecx, dword [edx + ecx*8 + 4]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x1c]
not eax
mov dword [edx + ecx*8], 0x5000002
mov dword [edx + ecx*8 + 4], eax
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [esi + 0x84]
mov ecx, dword [edx]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x58]
push dword [eax + ecx*8 + 4]
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, esi
push eax
call fcn.00443810
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [esi + 0x84]
cmp dword [eax + 0x10], 0
je 0x447e9e
mov eax, dword [edx]
cmp eax, 0xff
je 0x4474d3
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x58]
add edx, eax
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x10], ecx
mov ecx, dword [esi + 0x5c]
mov edi, dword [eax + edx*8 + 4]
mov dword [esi + 0x5c], edi
mov eax, dword [eax + edx*8]
mov dword [ebp + 0xc], edi
lea edi, [esi + 0x90]
mov dword [esi + 0x58], eax
test eax, 0x8000000
je 0x4474bc
mov eax, dword [ebp + 0xc]
inc dword [eax + 4]
test dword [ebp - 0x10], 0x8000000
je 0x4474d0
add dword [ecx + 4], 0xffffffff
jne 0x4474d0
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x18]
mov ecx, dword [esi + 0x84]
movzx eax, byte [edx + 6]
push eax
push esi
mov ecx, dword [ecx + 0x10]
call fcn.0043f0a0
test al, al
je 0x445453
mov eax, dword [esi + 0x84]
mov ecx, dword [ebp - 0x34]
sub ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x34], ecx
lea ecx, [esi + 0x58]
mov dword [ebp + 0xc], ecx
mov edx, dword [eax]
cmp edx, 0xff
je 0x447547
mov eax, dword [esi + 0x28]
mov esi, dword [esi + 0x18]
add eax, edx
mov ecx, dword [ecx]
mov dword [ebp - 0x10], eax
mov edi, eax
mov edx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [esi + edi*8], ecx
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 4]
mov dword [esi + edi*8 + 4], ecx
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx], edx
jmp 0x44754a
mov dword [ebp + 0xc], ecx
push ecx
push dword [eax]
movzx eax, byte [eax + 5]
mov ecx, esi
push eax
call fcn.0044a0a0
test al, al
je 0x44501d
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00439720
mov al, 1
jmp 0x4480b4
mov eax, dword [edx]
add eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x18]
cmp dword [ecx + eax*8], 0x8000400
lea ecx, [ecx + eax*8]
jne 0x447f10
movzx eax, byte [edx + 5]
add eax, dword [esi + 0x28]
mov edx, dword [esi + 0x18]
mov ecx, dword [ecx + 4]
lea eax, [edx + eax*8]
push eax
push esi
call fcn.0043ed70
test al, al
je 0x445453
mov eax, dword [esi + 0x84]
xorps xmm1, xmm1
mov ecx, dword [ebp - 0x34]
add ecx, dword [eax + 0x14]
mov dword [ebp - 0x34], ecx
jmp case.default.0x444f92
movzx ecx, byte [edx + 6]
mov eax, dword [ebp - 0x14]
mov esi, dword [esi + 0x28]
mov edx, dword [eax + 0x18]
lea eax, [ecx + esi]
lea edx, [edx + eax*8]
lea eax, [ebp - 0xa0]
push eax
mov eax, dword [ebp - 0x18]
push dword [eax]
lea eax, [edx + 0x10]
push ecx
push eax
lea eax, [edx + 8]
push eax
mov eax, dword [ebp - 0x18]
push edx
movzx eax, byte [eax + 5]
add eax, esi
mov esi, dword [ebp - 0x14]
mov ecx, dword [esi + 0x18]
lea eax, [ecx + eax*8]
mov ecx, esi
push eax
call fcn.00448200
test al, al
je 0x445453
mov ecx, dword [esi + 0x84]
xorps xmm1, xmm1
mov eax, dword [ebp - 0xa0]
shl eax, 3
add dword [ecx], eax
jmp case.default.0x444f92
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
mov eax, dword [eax + ecx*8 + 4]
cmp dword [eax + 0x64], 2
jne case.default.0x444f92
mov eax, dword [edx]
mov ecx, dword [esi + 0x84]
lea eax, [eax*8 - 8]
add dword [ecx], eax
jmp case.default.0x444f92
mov eax, dword [ebp - 0x18]
mov ecx, esi
mov edx, dword [esi + 0x18]
movzx eax, byte [eax + 5]
add eax, dword [esi + 0x28]
lea eax, [edx + eax*8]
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, dword [esi + 0x28]
lea eax, [edx + eax*8]
push eax
call fcn.00444360
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [ebp - 0x18]
mov edx, dword [esi + 0x18]
movzx eax, byte [eax + 5]
add eax, dword [esi + 0x28]
lea eax, [edx + eax*8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, dword [esi + 0x28]
test dword [edx + eax*8], 0x2000000
lea eax, [edx + eax*8]
mov dword [ebp - 0x1c], eax
je 0x447760
mov ecx, dword [eax + 4]
cmp dword [ecx + 0x18], 0
je 0x447760
mov dword [ebp - 0x64], 0x1000001
mov dword [ebp - 0x60], 0
mov eax, dword [ecx]
lea edx, [ebp - 0x64]
push edx
push 8
push esi
mov eax, dword [eax + 0x14]
mov byte [ebp - 4], 0x31
call eax
test al, al
je 0x44773b
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.00449fb0
push dword [ebp + 0xc]
lea eax, [ebp - 0x64]
mov ecx, esi
push 1
push 8
push eax
call fcn.00444080
mov byte [ebp + 0xf], al
test dword [ebp - 0x64], 0x8000000
mov byte [ebp - 4], 0x32
je 0x447727
mov ecx, dword [ebp - 0x60]
add dword [ecx + 4], 0xffffffff
jne 0x447727
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [ebp + 0xf]
mov byte [ebp - 4], 0
test al, al
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
test dword [ebp - 0x64], 0x8000000
mov byte [ebp - 4], 0x33
je 0x447759
mov eax, dword [ebp - 0x60]
add dword [eax + 4], 0xffffffff
jne 0x447759
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0
push 0xffffffffffffffff
push eax
call fcn.0043e2c0
add esp, 4
push eax
push dword [esi + 0x8c]
call fcn.0043dfd0
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov edi, dword [ebp + 0xc]
xorps xmm1, xmm1
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [edi], 0x8000010
mov dword [edi + 4], eax
lea edi, [esi + 0x90]
inc dword [eax + 4]
test edx, 0x8000000
jmp 0x445008
mov ecx, dword [esi + 0x84]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x24]
mov eax, dword [esi + 0x24]
add edx, 0x70
mov dword [ebp - 0xc8], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x18]
sub eax, edx
sar eax, 3
add eax, dword [ecx]
lea eax, [edx + eax*8]
mov dword [ebp - 0xc4], eax
movzx eax, byte [ecx + 5]
mov ecx, dword [esi + 0x80]
mov dword [ebp - 0xc0], eax
mov eax, dword [esi + 0x7c]
cmp ecx, eax
ja 0x447822
add eax, eax
mov esi, 4
cmovne esi, eax
shl ecx, 4
mov eax, esi
shl eax, 4
push eax
mov eax, dword [ebp - 0x14]
push ecx
push dword [eax + 0x78]
call fcn.0043da80
mov ecx, dword [ebp - 0x14]
add esp, 0xc
mov dword [ecx + 0x80], esi
mov esi, ecx
mov dword [ecx + 0x78], eax
mov ecx, dword [esi + 0x7c]
xorps xmm1, xmm1
movups xmm0, xmmword [ebp - 0xcc]
inc dword [ebp - 0x34]
lea eax, [ecx + 1]
shl ecx, 4
add ecx, dword [esi + 0x78]
mov dword [esi + 0x7c], eax
movups xmmword [ecx], xmm0
mov eax, dword [esi + 0x84]
inc dword [eax + 0x14]
jmp case.default.0x444f92
xor ecx, ecx
cmp byte [edx + 5], cl
jbe case.default.0x444f92
mov edi, dword [ebp - 0x34]
nop dword [eax]
dec dword [esi + 0x7c]
inc ecx
mov eax, dword [esi + 0x84]
dec edi
dec dword [eax + 0x14]
movzx eax, byte [edx + 5]
cmp ecx, eax
jl 0x447860
mov dword [ebp - 0x34], edi
lea edi, [esi + 0x90]
jmp case.default.0x444f92
test byte [edx + 5], 1
je 0x4478cb
movzx edx, byte [edx + 6]
add edx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
mov ecx, dword [eax + edx*8 - 8]
mov dword [ebp - 0x94], ecx
mov eax, dword [eax + edx*8 - 4]
mov dword [ebp - 0x90], eax
test ecx, 0x8000000
je 0x4478b3
inc dword [eax + 4]
mov edx, dword [ebp - 0x18]
lea eax, [ebp - 0x94]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x34
or eax, 1
jmp 0x4478f5
mov dword [ebp - 0x8c], 0x1000001
mov dword [ebp - 0x88], 0
lea eax, [ebp - 0x8c]
mov dword [ebp - 4], 0x35
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
or eax, 2
mov ecx, dword [esi + 0x28]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x3c], eax
mov al, byte [edx + 5]
mov edx, dword [esi + 0x18]
shr al, 1
and al, 1
mov byte [ebp + 0xf], al
mov byte [ebp - 0xa4], al
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 7]
add eax, ecx
lea eax, [edx + eax*8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x18]
movzx eax, byte [eax + 6]
add eax, ecx
lea eax, [edx + eax*8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
add eax, ecx
cmp dword [edx + eax*8], 0x8004000
lea eax, [edx + eax*8]
je 0x447959
push str.object_must_be_a_class
push esi
call fcn.0044af40
add esp, 8
mov byte [ebp + 0xf], 0
jmp 0x447a4a
mov ecx, dword [eax + 4]
mov dword [ebp - 0x38], ecx
add ecx, 0xb8
mov dword [ebp - 0x18], ecx
cmp dword [ecx], 0x1000001
mov ecx, esi
je 0x447a14
push eax
call fcn.00449fb0
push dword [ebp - 0x24]
mov ecx, esi
call fcn.00449fb0
push dword [ebp - 0x10]
mov ecx, esi
call fcn.00449fb0
push dword [ebp - 0x30]
mov ecx, esi
call fcn.00449fb0
movzx eax, byte [ebp + 0xf]
mov dword [ebp - 0xf0], 0x1000008
mov dword [ebp - 0xec], eax
mov edx, dword [esi + 0x24]
mov dword [ebp + 0xc], edx
mov edi, edx
mov dword [ebp - 4], 0x36
lea ecx, [edx + 1]
mov dword [esi + 0x24], ecx
mov esi, dword [esi + 0x18]
mov ecx, dword [ebp + 0xc]
mov edx, dword [esi + edx*8]
mov ecx, dword [esi + ecx*8 + 4]
mov dword [esi + edi*8 + 4], eax
mov eax, edi
mov edi, dword [ebp - 0x20]
mov dword [esi + eax*8], 0x1000008
test edx, 0x8000000
je 0x4479f3
add dword [ecx + 4], 0xffffffff
jne 0x4479f3
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
mov ecx, esi
mov dword [ebp - 4], 0x35
lea eax, [esi + 0x58]
push eax
push 5
push 0x10
push dword [ebp - 0x18]
call fcn.00444080
mov byte [ebp + 0xf], al
jmp 0x447a4a
push dword [ebp - 0xa4]
push dword [ebp - 0x10]
push dword [ebp - 0x24]
push eax
call fcn.004496c0
test al, al
jne 0x447a2f
mov byte [ebp + 0xf], al
jmp 0x447a4a
mov eax, dword [ebp - 0x30]
cmp dword [eax], 0x1000001
je 0x447a46
mov ecx, dword [ebp - 0x38]
push eax
push dword [ebp - 0x24]
call fcn.00454010
mov byte [ebp + 0xf], 1
mov ecx, dword [ebp - 0x3c]
test cl, 2
je 0x447a88
and ecx, 0xfffffffd
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x1c], ecx
test dword [ebp - 0x8c], 0x8000000
mov dword [ebp - 4], 0x38
je 0x447a88
mov eax, dword [ebp - 0x88]
add dword [eax + 4], 0xffffffff
jne 0x447a88
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 4], 0
test cl, 1
je 0x447ac5
and ecx, 0xfffffffe
mov dword [ebp - 0x3c], ecx
test dword [ebp - 0x94], 0x8000000
mov byte [ebp - 4], 0x39
je 0x447ac1
mov eax, dword [ebp - 0x90]
add dword [eax + 4], 0xffffffff
jne 0x447ac1
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
cmp byte [ebp + 0xf], 0
je 0x445453
xorps xmm1, xmm1
jmp case.default.0x444f92
mov eax, dword [esi + 0x84]
movzx esi, byte [edx + 5]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x20]
test eax, eax
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
je 0x447b1f
add esi, dword [eax + 0x28]
mov eax, dword [eax + 0x18]
mov edi, dword [ebp + 0xc]
mov edx, dword [eax + esi*8]
mov ecx, dword [eax + esi*8 + 4]
mov dword [eax + esi*8 + 4], edi
mov dword [eax + esi*8], 0x8004000
mov eax, edi
mov edi, dword [ebp - 0x20]
inc dword [eax + 4]
test edx, 0x8000000
jmp 0x445005
add esi, dword [eax + 0x28]
mov edx, dword [eax + 0x18]
mov eax, dword [edx + esi*8]
test eax, 0x8000000
mov ecx, dword [edx + esi*8 + 4]
mov dword [edx + esi*8], 0x1000001
mov dword [edx + esi*8 + 4], 0
jmp 0x445005
cmp dword [esi + 0x2c], 0
je case.default.0x444f92
mov ecx, dword [esi + 0x28]
add ecx, dword [edx]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, esi
push eax
call fcn.004446c0
xorps xmm1, xmm1
jmp case.default.0x444f92
add dword [esi + 4], 0xffffffff
mov byte [ebp - 4], 2
jne 0x445450
mov eax, dword [esi]
mov ecx, esi
jmp 0x44544d
cmp dword [ebp - 0x38], 0
mov byte [ebp - 4], 0xc
je 0x447b98
add dword [esi + 4], 0xffffffff
jne 0x447b98
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0xd
jmp 0x445436
test dword [ebp - 0x44], 0x8000000
mov byte [ebp - 4], 0xa
je 0x447bbc
mov ecx, dword [ebp - 0x40]
add dword [ecx + 4], 0xffffffff
jne 0x447bbc
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 0xb
je 0x445453
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 7
je 0x445453
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 5
je 0x445453
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ebp - 0x4c], 0x8000000
mov byte [ebp - 4], 0x12
je 0x447c5b
mov eax, dword [ebp - 0x48]
add dword [eax + 4], 0xffffffff
jne 0x447c5b
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 0x13
je 0x445453
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
mov byte [ebp - 4], 0x15
test edx, 0x8000000
je 0x447ca6
add dword [eax + 4], 0xffffffff
jne 0x447ca6
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 4
lea eax, [ebp - 0x2c]
push eax
call fcn.0043e2c0
push eax
push str.attempt_to_call__s
push esi
call fcn.0044af40
add esp, 0x10
test dword [ebp - 0x2c], 0x8000000
mov byte [ebp - 4], 0x16
je 0x445453
mov eax, dword [ebp - 0x28]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
push str.division_by_zero
push esi
call fcn.0044af40
add esp, 8
jmp 0x445453
push str.internal_vm_error_bitwise_op_failed
push esi
call fcn.0044af40
add esp, 8
jmp 0x445453
push edx
call fcn.0043e2c0
add esp, 4
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.0043e2c0
add esp, 4
push eax
push str.bitwise_op_between__s_and__s
push esi
call fcn.0044af40
add esp, 0x10
jmp 0x445453
test dword [ebp - 0x6c], 0x8000000
mov byte [ebp - 4], 0x1d
je 0x445453
mov eax, dword [ebp - 0x68]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ebp - 0x7c], 0x8000000
mov byte [ebp - 4], 0x23
je 0x445453
mov eax, dword [ebp - 0x78]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x78]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ebp - 0x5c], 0x8000000
mov byte [ebp - 4], 0x27
je 0x447db1
mov eax, dword [ebp - 0x58]
add dword [eax + 4], 0xffffffff
jne 0x447db1
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx]
call dword [eax + 4]
test dword [ebp - 0x84], 0x8000000
mov byte [ebp - 4], 0x29
je 0x445453
mov eax, dword [ebp - 0x80]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x80]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
add eax, dword [esi + 0x28]
lea eax, [ecx + eax*8]
push eax
call fcn.0043e2c0
mov ecx, dword [esi + 0x28]
add esp, 4
push eax
mov eax, dword [ebp - 0x18]
add ecx, dword [eax]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
push eax
call fcn.0043e2c0
add esp, 4
push eax
push str.cannot_apply_instanceof_between_a__s_and_a__s
push esi
call fcn.0044af40
add esp, 0x10
jmp 0x445453
test dword [ebp - 0x54], 0x8000000
mov byte [ebp - 4], 0x2c
je 0x445453
mov eax, dword [ebp - 0x50]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
test dword [ebp - 0x54], 0x8000000
mov byte [ebp - 4], 0x2e
je 0x447e63
mov eax, dword [ebp - 0x50]
add dword [eax + 4], 0xffffffff
jne 0x447e63
mov ecx, dword [ebp - 0x50]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0xc]
mov byte [ebp - 4], 0
push edx
call fcn.0043e2c0
push eax
push str.attempt_to_negate_a__s
push esi
call fcn.0044af40
add esp, 0x10
jmp 0x445453
push eax
call fcn.0043e2c0
push eax
push str.attempt_to_perform_a_bitwise_op_on_a__s
push esi
call fcn.0044af40
add esp, 0x10
jmp 0x445453
mov dword [ebp - 0x9c], 0x8000400
mov dword [ebp - 0x98], 0
mov eax, dword [4]
inc eax
mov dword [4], eax
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x2f
push eax
call fcn.0043e2c0
push eax
push str.trying_to_yield_a__s_only_genenerator_can_be_yielded
push esi
call fcn.0044af40
add esp, 0x10
test dword [ebp - 0x9c], 0x8000000
mov byte [ebp - 4], 0x30
je 0x445453
mov eax, dword [ebp - 0x98]
add dword [eax + 4], 0xffffffff
jne 0x445453
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x445453
push ecx
call fcn.0043e2c0
push eax
push str.trying_to_resume_a__s_only_genenerator_can_be_resumed
push esi
call fcn.0044af40
add esp, 0x10
jmp 0x445453
movzx ecx, byte [edx + 5]
add ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x18]
lea eax, [eax + ecx*8]
mov ecx, esi
push eax
call fcn.0044afe0
jmp 0x445453
mov ecx, dword [edx + 0x7c]
mov edx, dword [edx + 0x78]
add ecx, ecx
mov edi, dword [ebp - 0x38]
mov eax, dword [edx + ecx*8 - 8]
mov dword [edi], eax
mov eax, dword [edx + ecx*8 - 0xc]
mov edi, dword [ebp - 0x14]
mov dword [edi + 0x24], eax
mov eax, dword [edx + ecx*8 - 0x10]
mov dword [edi + 0x28], eax
mov edx, dword [edx + ecx*8 - 4]
add edx, eax
mov eax, edi
mov edi, dword [ebp + 0xc]
test edi, 0x8000000
mov eax, dword [eax + 0x18]
mov ecx, dword [eax + edx*8]
mov dword [ebp - 0x38], ecx
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8], edi
mov edi, dword [ebp - 0x20]
mov dword [eax + edx*8 + 4], esi
je 0x447f93
inc dword [esi + 4]
test dword [ebp - 0x38], 0x8000000
je 0x447fa7
add dword [ecx + 4], 0xffffffff
jne 0x447fa7
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
dec dword [ebp - 0x34]
dec dword [ecx + 0x7c]
mov eax, dword [ecx + 0x84]
dec dword [eax + 0x14]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ecx + 0x24]
jl 0x447ffc
mov edi, ecx
mov esi, eax
mov eax, dword [edi + 0x18]
mov ecx, dword [eax + esi*8 + 4]
lea edx, [eax + esi*8]
mov eax, dword [edx]
dec esi
mov dword [edx], 0x1000001
mov dword [edx + 4], 0
test eax, 0x8000000
je 0x447ff1
add dword [ecx + 4], 0xffffffff
jne 0x447ff1
mov eax, dword [ecx]
call dword [eax + 4]
cmp esi, dword [edi + 0x24]
jge 0x447fc5
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
test dword [ebp + 0xc], 0x8000000
mov byte [ebp - 4], 0x3b
je 0x444f6d
jmp 0x445296
mov ecx, dword [ebp + 0x14]
mov dword [esi + 0x9c], 1
movsx eax, byte [eax + 5]
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x28]
mov dword [esi + 0xa0], eax
mov eax, dword [ebp - 0x34]
mov dword [esi + 0xa8], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00439720
lea ecx, [ebp - 0x2c]
call fcn.004396d0
mov al, 1
jmp 0x4480b4
mov ecx, eax
call fcn.004495f0
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
mov eax, dword [edx + 0x38]
mov ecx, dword [edx + 0x3c]
mov dword [edx + 0x38], edi
mov dword [edx + 0x3c], esi
mov edx, edi
mov edi, dword [ebp - 0x20]
and edx, 0x8000000
mov dword [ebp + 0xc], edx
je 0x448082
inc dword [esi + 4]
test eax, 0x8000000
je 0x448097
add dword [ecx + 4], 0xffffffff
jne 0x448097
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 0xc]
xor al, al
mov byte [ebp + 0x17], al
mov byte [ebp - 4], 0x3e
test edx, edx
je 0x4480b4
add dword [esi + 4], 0xffffffff
jne 0x4480b4
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 4]
mov al, byte [ebp + 0x17]
dec dword [edi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18