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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x168
push esi
push edi
mov esi, edx
mov dword [esp + 0xc], esi
mov edi, ecx
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0xa4], eax
nop dword [eax + eax]
mov edx, dword [edi + 0x70]
mov dword [esp + 0x10], edx
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 8], ecx
test edx, edx
je 0x101229d8
cmp ecx, dword [eax + 0x34]
jne 0x101229d1
cmp byte [eax + 7], 0
je 0x10122997
xor ecx, ecx
mov dword [esp + 0x10], ecx
jmp 0x101229d1
mov eax, dword [edi + 0x70]
mov dword [edi + 0x64], 0
test al, 1
je 0x101229d1
mov eax, dword [esi]
mov ecx, edi
movzx edx, word [esi + 0x22]
shr edx, 3
and edx, 4
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add dword [esi + 0x10], 4
movzx eax, byte [eax + 6]
push eax
push 1
push 0xffffffffffffffff
call fcn.10102090
add esp, 0xc
add dword [esi + 0x10], 0xfffffffc
mov dword [esi + 0x14], 1
mov eax, dword [esi]
add eax, 0x10
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 8]
jmp 0x10122a0e
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x10122a12
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x10122a30
mov edx, ecx
mov ecx, edi
call fcn.10101a30
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esi]
add eax, 0x10
mov dword [esp + 0x28], eax
mov edx, dword [ecx]
add ecx, 4
mov esi, dword [esp + 0x28]
mov eax, edx
shr eax, 7
mov dword [esp + 8], ecx
mov dword [esp + 0x18], eax
movzx eax, al
mov ecx, eax
mov dword [esp + 0x14], edx
shl ecx, 4
add esi, ecx
mov dword [esp + 0x30], ecx
mov ecx, edx
mov dword [esp + 0x24], eax
and ecx, 0x7f
cmp ecx, 0x51
ja case.default.0x10122a66
jmp dword [ecx*4 + 0x10126ad8]
shr edx, 0x10
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x28]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
jmp case.default.0x10122a66
shr edx, 0xf
xor eax, eax
sub edx, 0xffff
mov byte [esi + 8], 3
mov dword [esi], edx
sbb eax, eax
mov dword [esi + 4], eax
jmp case.default.0x10122a66
shr edx, 0xf
sub edx, 0xffff
movd xmm0, edx
cvtdq2pd xmm0, xmm0
jmp 0x101229fe
shr edx, 0xf
shl edx, 4
add edx, dword [esp + 0x3c]
jmp 0x10122a7a
mov eax, dword [esp + 8]
mov edx, dword [eax]
shr edx, 7
shl edx, 4
add edx, dword [esp + 0x3c]
add eax, 4
mov dword [esp + 8], eax
jmp 0x10122a7a
mov byte [esi + 8], 1
jmp case.default.0x10122a66
mov ecx, dword [esp + 8]
add ecx, 4
mov byte [esi + 8], 1
mov dword [esp + 8], ecx
jmp 0x10122a0a
mov byte [esi + 8], 0x11
jmp case.default.0x10122a66
shr edx, 0x10
add esi, 8
movzx ecx, dl
mov eax, ecx
mov byte [esi], 0
dec ecx
lea esi, [esi + 0x10]
test eax, eax
jne 0x10122b14
jmp case.default.0x10122a66
mov ecx, dword [esp + 0x4c]
shr edx, 0x10
movzx eax, dl
mov eax, dword [ecx + eax*4 + 0x10]
mov edx, dword [eax + 8]
jmp 0x10122a7a
mov ecx, dword [esp + 0x4c]
shr edx, 0x10
movzx eax, dl
mov eax, dword [ecx + eax*4 + 0x10]
mov ecx, dword [esi + 4]
mov dword [esp + 0x24], eax
mov edx, dword [eax + 8]
mov eax, dword [esi]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 8]
mov dword [edx], eax
mov al, byte [esi + 8]
mov byte [edx + 8], al
test byte [esi + 8], 0x40
mov edx, dword [esp + 0x10]
je 0x101229f8
mov edx, dword [esp + 0x24]
mov cl, byte [edx + 5]
test cl, 0x20
je case.default.0x10122a66
mov esi, dword [esi]
test byte [esi + 5], 0x18
je case.default.0x10122a66
mov eax, dword [edi + 0x10]
cmp byte [eax + 0x4d], 2
ja 0x10122bc9
mov edx, esi
mov ecx, eax
call fcn.10103f90
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov al, byte [ecx + 5]
mov ecx, dword [esp + 8]
and al, 7
cmp al, 1
jbe 0x101229f8
mov al, byte [esi + 5]
and al, 0xfa
or al, 2
mov byte [esi + 5], al
jmp case.default.0x10122a66
cmp byte [eax + 0x4e], 0
mov esi, dword [esp + 0xc]
jne 0x101229e1
mov al, byte [eax + 0x4c]
and cl, 0xc7
and al, 0x18
or al, cl
mov byte [edx + 5], al
jmp case.default.0x10122a66
mov ecx, dword [esp + 0x4c]
mov eax, edx
shr eax, 0x10
movzx eax, al
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x3c]
mov eax, dword [ecx + eax*4 + 0x10]
mov dword [esp + 0x14], edx
mov edi, dword [edx]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x30], edi
cmp byte [eax + 8], 0x45
je 0x10122c1e
xor edi, edi
jmp 0x10122c82
mov edx, dword [eax]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
mov ecx, dword [esp + 0x30]
nop dword [eax + eax]
cmp byte [edi + 9], 0x44
jne 0x10122c4b
cmp dword [edi + 0x10], ecx
je 0x10122c5f
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10122c5a
lea eax, [eax + eax*2]
lea edi, [edi + eax*8]
jmp 0x10122c40
mov edi, 0x103f77b0
test byte [edi + 8], 0xf
je 0x10122c7e
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edi + 8]
mov edi, dword [esp + 0x2c]
mov byte [esi + 8], al
jmp case.default.0x10122a66
mov edx, dword [esp + 0x14]
push edi
push esi
push edx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x38]
mov edi, ecx
mov dword [ecx + 0xc], eax
call fcn.10121510
add esp, 0xc
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov eax, edx
shr edx, 0x18
shr eax, 0x10
shl edx, 4
add edx, dword [esp + 0x28]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
cmp byte [edx + 8], 3
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jne 0x10122d4c
cmp byte [eax + 8], 0x45
mov edi, dword [edx + 4]
mov ecx, dword [edx]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x2c]
je 0x10122cfd
xor ecx, ecx
jmp 0x10122d90
mov eax, dword [eax]
mov edx, ecx
mov dword [esp + 0x40], eax
add edx, 0xffffffff
mov eax, dword [eax + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x24]
adc eax, 0xffffffff
test eax, eax
ja 0x10122d33
jb 0x10122d22
cmp edx, dword [esp + 0x30]
jae 0x10122d33
mov eax, dword [esp + 0x40]
shl ecx, 4
mov eax, dword [eax + 0xc]
add eax, 0xfffffff0
add ecx, eax
jmp 0x10122d5f
push dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x48]
call fcn.1011d830
add esp, 8
mov dword [esp + 0x24], eax
mov ecx, eax
jmp 0x10122d63
cmp byte [eax + 8], 0x45
je 0x10122d56
xor ecx, ecx
jmp 0x10122d90
mov ecx, dword [eax]
call fcn.1011d960
mov ecx, eax
mov dword [esp + 0x24], ecx
test byte [ecx + 8], 0xf
mov eax, 0
setne al
test eax, eax
je 0x10122d8c
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 4], ecx
mov al, byte [eax + 8]
mov byte [esi + 8], al
jmp case.default.0x10122a66
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
push ecx
push esi
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x34]
push edx
mov edx, dword [esp + 0x24]
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov ecx, edi
call fcn.10121510
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], edx
cmp byte [eax + 8], 0x45
je 0x10122e29
xor ecx, ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x140], edx
mov edx, dword [esp + 0xc]
push ecx
push esi
mov dword [esp + 0x14c], 0
mov dword [edx + 0x10], eax
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x38]
mov dword [edi + 0xc], eax
lea eax, [esp + 0x148]
mov byte [esp + 0x150], 3
push eax
jmp 0x10122dae
mov eax, dword [eax]
mov ecx, edx
mov dword [esp + 0x40], eax
add ecx, 0xffffffff
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, 0
adc eax, 0xffffffff
test eax, eax
ja 0x10122e62
jb 0x10122e4f
cmp ecx, dword [esp + 0x18]
jae 0x10122e62
mov eax, dword [esp + 0x40]
mov ecx, edx
shl ecx, 4
mov eax, dword [eax + 0xc]
add eax, 0xfffffff0
add ecx, eax
jmp 0x10122e77
mov ecx, dword [esp + 0x40]
push 0
push edx
call fcn.1011d830
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, eax
test byte [ecx + 8], 0xf
mov dword [esp + 0x40], ecx
je 0x10122dee
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 4], ecx
mov al, byte [eax + 8]
mov byte [esi + 8], al
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
cmp byte [eax + 8], 0x45
mov dword [esp + 0x14], edx
mov edi, dword [edx]
mov dword [esp + 0x18], edi
je 0x10122ed7
xor edi, edi
push edi
push esi
push edx
mov edx, eax
jmp 0x10122c89
mov edx, dword [eax]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
cmp byte [edi + 9], 0x44
jne 0x10122eff
cmp dword [edi + 0x10], ecx
je 0x10122f13
mov eax, dword [edi + 0xc]
test eax, eax
je 0x10122f0e
lea eax, [eax + eax*2]
lea edi, [edi + eax*8]
jmp 0x10122ef4
mov edi, 0x103f77b0
test byte [edi + 8], 0xf
jne 0x10122c65
mov edx, dword [esp + 0x14]
push edi
push esi
push edx
mov edx, dword [esp + 0x3c]
jmp 0x10122c89
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x3c]
mov eax, dword [ecx + eax*4 + 0x10]
mov ecx, dword [eax + 8]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], eax
test edx, 0x8000
je 0x10122f63
shr edx, 0x18
shl edx, 4
add edx, esi
jmp 0x10122f6d
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x28]
cmp byte [ecx + 8], 0x45
mov esi, dword [eax]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], esi
je 0x10122f84
xor esi, esi
jmp 0x10123059
mov edx, dword [ecx]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [esi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
cmp byte [esi + 9], 0x44
jne 0x10122fac
cmp dword [esi + 0x10], ecx
je 0x10122fc0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10122fbb
lea eax, [eax + eax*2]
lea esi, [esi + eax*8]
jmp 0x10122fa1
mov esi, 0x103f77b0
test byte [esi + 8], 0xf
mov edx, dword [esp + 0x14]
je 0x10123055
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 8]
mov dword [esi], eax
mov al, byte [edx + 8]
mov byte [esi + 8], al
test byte [edx + 8], 0x40
mov esi, dword [esp + 0xc]
je 0x10122a0e
mov esi, dword [esp + 0x40]
mov esi, dword [esi]
mov cl, byte [esi + 5]
test cl, 0x20
je case.default.0x10122a66
mov eax, dword [edx]
mov edx, dword [esp + 0x10]
test byte [eax + 5], 0x18
je 0x101229f4
mov edx, dword [edi + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x10123031
mov ecx, esi
call fcn.10103e10
mov ecx, eax
mov eax, dword [edx + 0x68]
mov dword [ecx], eax
mov dword [edx + 0x68], esi
mov cl, byte [esi + 5]
mov edx, dword [esp + 0x10]
and cl, 0xc7
mov al, cl
mov byte [esi + 5], cl
and al, 7
cmp al, 1
jbe 0x101229f4
and cl, 0xfd
or cl, 5
mov byte [esi + 5], cl
jmp case.default.0x10122a66
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
push esi
push edx
push dword [esp + 0x38]
mov dword [edi + 0x10], eax
mov edx, ecx
mov eax, edi
mov edi, dword [esp + 0x38]
mov ecx, edi
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
call fcn.10121670
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov ecx, dword [esp + 0x28]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, ecx
mov dword [esp + 0x30], eax
test edx, 0x8000
je 0x101230bf
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x3c]
jmp 0x101230c7
shr edx, 0x18
shl edx, 4
add edx, ecx
cmp byte [eax + 8], 3
mov dword [esp + 0x14], edx
jne 0x10123129
cmp byte [esi + 8], 0x45
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
jne 0x101231ae
mov eax, dword [esi]
mov edx, ecx
add edx, 0xffffffff
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x40]
adc eax, 0xffffffff
test eax, eax
ja 0x10123112
jb 0x10123105
cmp edx, dword [esp + 0x18]
jae 0x10123112
mov eax, dword [esi]
shl ecx, 4
add ecx, 0xfffffff0
add ecx, dword [eax + 0xc]
jmp 0x1012313a
push dword [esp + 0x40]
push ecx
mov ecx, dword [esi]
call fcn.1011d830
add esp, 8
mov dword [esp + 0x24], eax
mov ecx, eax
jmp 0x1012313e
cmp byte [esi + 8], 0x45
jne 0x101231ae
mov ecx, dword [esi]
mov edx, eax
call fcn.1011d960
mov ecx, eax
mov dword [esp + 0x24], ecx
test byte [ecx + 8], 0xf
mov eax, 0
mov edx, dword [esp + 0x14]
setne al
test eax, eax
je 0x101231b0
mov edi, dword [esp + 0x24]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edi], eax
mov eax, edi
mov dword [eax + 4], ecx
mov ecx, edi
mov al, byte [edx + 8]
mov byte [ecx + 8], al
test byte [edx + 8], 0x40
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
je 0x10122a0a
mov esi, dword [esi]
mov cl, byte [esi + 5]
test cl, 0x20
je case.default.0x10122a66
mov eax, dword [edx]
mov edx, dword [esp + 0x10]
test byte [eax + 5], 0x18
je 0x101229f4
mov edx, dword [edi + 0x10]
mov al, cl
and al, 7
cmp al, 6
jne 0x1012301d
jmp 0x10123031
xor ecx, ecx
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
push ecx
push edx
push dword [esp + 0x38]
mov dword [edi + 0x10], eax
mov edx, esi
mov eax, edi
mov edi, dword [esp + 0x38]
mov ecx, edi
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
call fcn.10121670
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov dword [esp + 0x40], ecx
test edx, 0x8000
je 0x1012320d
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x3c]
jmp 0x10123217
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x28]
cmp byte [esi + 8], 0x45
mov dword [esp + 0x14], edx
je 0x10123225
xor ecx, ecx
jmp 0x1012327f
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, ecx
add eax, 0xffffffff
mov dword [esp + 0x30], eax
mov eax, 0
adc eax, 0xffffffff
test eax, eax
ja 0x1012325e
jb 0x1012324f
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x30], eax
jae 0x1012325e
mov eax, dword [esi]
shl ecx, 4
mov eax, dword [eax + 0xc]
add eax, 0xfffffff0
add ecx, eax
jmp 0x10123271
push 0
push ecx
mov ecx, dword [esi]
call fcn.1011d830
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, eax
test byte [ecx + 8], 0xf
mov dword [esp + 0x24], ecx
jne 0x10123152
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 8]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
push ecx
push edx
mov eax, dword [eax + 4]
mov edx, esi
mov dword [edi + 0xc], eax
mov ecx, edi
lea eax, [esp + 0x158]
mov dword [esp + 0x15c], 0
push eax
mov byte [esp + 0x164], 3
call fcn.10121670
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, ecx
mov dword [esp + 0x30], eax
test edx, 0x8000
je 0x10123305
shr edx, 0x18
shl edx, 4
add edx, ecx
jmp 0x1012330f
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x28]
cmp byte [esi + 8], 0x45
mov edi, dword [eax]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
je 0x1012335c
xor edi, edi
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push edi
push edx
push dword [esp + 0x38]
mov dword [ecx + 0x10], eax
mov edx, esi
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x38]
mov edi, ecx
mov dword [ecx + 0xc], eax
call fcn.10121670
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov edx, dword [esi]
mov eax, 1
mov cl, byte [edx + 7]
shl eax, cl
dec eax
and eax, dword [edi + 8]
lea ecx, [eax + eax*2]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
nop dword [eax]
cmp byte [edi + 9], 0x44
jne 0x1012338b
cmp dword [edi + 0x10], ecx
je 0x1012339f
mov eax, dword [edi + 0xc]
test eax, eax
je 0x1012339a
lea eax, [eax + eax*2]
lea edi, [edi + eax*8]
jmp 0x10123380
mov edi, 0x103f77b0
test byte [edi + 8], 0xf
mov edx, dword [esp + 0x14]
je 0x10123321
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov al, byte [edx + 8]
mov byte [edi + 8], al
jmp 0x1012316a
mov eax, edx
mov ecx, edx
shr eax, 0x10
movzx eax, al
shr ecx, 0x18
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], ecx
test eax, eax
je 0x101233ed
lea ecx, [eax - 1]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x40], eax
test edx, 0x8000
je 0x10123407
mov eax, dword [esp + 8]
mov eax, dword [eax]
shr eax, 7
shl eax, 8
add ecx, eax
mov dword [esp + 0x24], ecx
add dword [esp + 8], 4
lea eax, [esi + 0x10]
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.1011d550
mov ecx, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x40]
mov dword [esi], edx
mov byte [esi + 8], 0x45
test eax, eax
jne 0x10123431
test ecx, ecx
je 0x1012343d
push eax
push ecx
mov ecx, edi
call fcn.1011cf10
add esp, 8
mov eax, dword [edi + 0x10]
mov edx, dword [esp + 0x10]
cmp dword [eax + 0xc], 0
jle 0x101229f4
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [ecx + 0x10], eax
lea eax, [esi + 0x10]
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.101074c0
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, dword [esp + 0x28]
shl ecx, 4
add ecx, eax
mov dword [esp + 0x30], ecx
test edx, 0x8000
je 0x101234a3
shr edx, 0x18
shl edx, 4
add edx, dword [esp + 0x3c]
jmp 0x101234ab
shr edx, 0x18
shl edx, 4
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov dword [esi + 0x10], eax
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esi + 0x18], al
cmp byte [ecx + 8], 0x45
je 0x101234da
mov dword [esp + 0x24], 0
jmp 0x1012353b
mov eax, dword [ecx]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov al, byte [ecx + 4]
cmp al, 4
jne 0x101234fe
mov edx, ecx
mov ecx, dword [esp + 0x40]
call fcn.1011d8e0
mov edx, eax
mov dword [esp + 0x24], edx
jmp 0x10123529
mov dword [esp + 0x160], ecx
lea edx, [esp + 0x160]
mov ecx, dword [esp + 0x40]
or al, 0x40
push 0
mov byte [esp + 0x16c], al
call fcn.1011cb40
add esp, 4
mov dword [esp + 0x24], eax
mov edx, eax
test byte [edx + 8], 0xf
jne 0x10122a7a
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
push dword [esp + 0x24]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x30]
push esi
push edx
mov eax, dword [eax + 4]
mov edx, ecx
mov dword [edi + 0xc], eax
mov ecx, edi
jmp 0x10122ca0
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
mov al, byte [ecx + 8]
cmp al, 3
jne 0x1012359a
add dword [esp + 8], 4
xor eax, eax
add edx, dword [ecx]
adc eax, dword [ecx + 4]
sub edx, 0x7f
mov dword [esi], edx
sbb eax, 0
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
jne case.default.0x10122a66
add dword [esp + 8], 4
lea eax, [edx - 0x7f]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [ecx]
jmp 0x101229fe
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov cl, byte [eax + 8]
mov dword [esp + 0x14], edx
mov byte [esp + 0x23], cl
cmp cl, 3
jne 0x10123616
cmp byte [edx + 8], 3
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
jne 0x1012362b
mov ecx, dword [edx]
add dword [esp + 8], 4
add ecx, dword [eax]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x18]
adc eax, dword [edx + 4]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp cl, 0x13
jne 0x10123624
movsd xmm0, qword [eax]
lea eax, [edx + 8]
jmp 0x10123650
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
cmp byte [esp + 0x23], 3
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
jne 0x101229f8
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.10312100
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov al, byte [eax]
movsd qword [esp + 0x18], xmm0
cmp al, 0x13
jne 0x10123662
movsd xmm0, qword [edx]
jmp 0x1012367c
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
addsd xmm0, qword [esp + 0x18]
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x10122a0a
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x23], cl
cmp cl, 3
jne 0x101236ed
cmp byte [edx + 8], 3
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
jne 0x10123702
mov ecx, dword [eax]
add dword [esp + 8], 4
sub ecx, dword [edx]
mov eax, dword [eax + 4]
sbb eax, dword [edx + 4]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp cl, 0x13
jne 0x101236fb
movsd xmm0, qword [eax]
lea eax, [edx + 8]
jmp 0x10123727
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
cmp byte [esp + 0x23], 3
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
jne 0x101229f8
mov edx, dword [eax + 4]
mov ecx, dword [eax]
call fcn.10312100
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov al, byte [eax]
movsd qword [esp + 0x18], xmm0
cmp al, 0x13
jne 0x10123739
movsd xmm1, qword [edx]
jmp 0x10123756
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x18]
mov ecx, dword [esp + 8]
subsd xmm0, xmm1
add ecx, 4
mov dword [esp + 8], ecx
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x10122a0a
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
cmp al, 3
jne 0x101237cf
cmp byte [edx + 8], 3
lea eax, [edx + 8]
mov dword [esp + 0x30], eax
jne 0x101237e0
push dword [ecx + 4]
add dword [esp + 0xc], 4
push dword [ecx]
push dword [edx + 4]
push dword [edx]
call fcn.10311d60
mov dword [esi], eax
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
lea eax, [edx + 8]
jne 0x101237dc
movsd xmm0, qword [ecx]
jmp 0x10123801
mov dword [esp + 0x30], eax
cmp byte [esp + 0x23], 3
mov edx, dword [esp + 0x10]
jne 0x101229f4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.10312100
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov al, byte [eax]
movsd qword [esp + 0x18], xmm0
cmp al, 0x13
jne 0x10123813
movsd xmm0, qword [edx]
jmp 0x1012382d
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
mulsd xmm0, qword [esp + 0x18]
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x10122a0a
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
cmp al, 3
jne 0x101238a7
cmp byte [edx + 8], 3
lea eax, [edx + 8]
mov dword [esp + 0x30], eax
jne 0x101238b8
push dword [edx + 4]
add dword [esp + 0xc], 4
push dword [edx]
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.101224f0
mov dword [esi], eax
add esp, 0x10
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
lea eax, [edx + 8]
jne 0x101238b4
movsd xmm0, qword [ecx]
jmp 0x101238d9
mov dword [esp + 0x30], eax
cmp byte [esp + 0x23], 3
mov edx, dword [esp + 0x10]
jne 0x101229f4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.10312100
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov al, byte [eax]
movsd qword [esp + 0x40], xmm0
cmp al, 0x13
jne 0x101238eb
movsd xmm0, qword [edx]
jmp 0x10123905
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
fld qword [esp + 0x40]
add dword [esp + 8], 4
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIfmod
fstp qword [esp + 0x30]
movsd xmm1, qword [esp + 0x30]
xorps xmm2, xmm2
comisd xmm1, xmm2
jbe 0x10123950
movsd xmm0, qword [esp + 0x18]
xor eax, eax
comisd xmm2, xmm0
seta al
test eax, eax
je 0x10123966
addsd xmm1, xmm0
movsd qword [esi], xmm1
jmp 0x10122a02
comisd xmm2, xmm1
jbe 0x10123966
movsd xmm0, qword [esp + 0x18]
comisd xmm0, xmm2
jbe 0x10123966
addsd xmm1, xmm0
movsd qword [esi], xmm1
jmp 0x10122a02
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov al, byte [ecx + 8]
mov dword [esp + 0x14], edx
cmp al, 0x13
jne 0x10123999
movsd xmm0, qword [ecx]
jmp 0x101239b3
mov edx, dword [esp + 0x10]
cmp al, 3
jne 0x101229f4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.10312100
mov edx, dword [esp + 0x14]
mov al, byte [edx + 8]
movsd qword [esp + 0x18], xmm0
cmp al, 0x13
jne 0x101239c6
movsd xmm1, qword [edx]
jmp 0x101239e3
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
movaps xmm1, xmm0
mov ecx, dword [esp + 8]
movsd xmm0, qword [esp + 0x18]
add ecx, 4
ucomisd xmm1, qword [0x1041ee58]
mov dword [esp + 8], ecx
lahf
test ah, 0x44
jp 0x10123a13
mulsd xmm0, xmm0
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x10122a0a
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_pow
mov ecx, dword [esp + 8]
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x10122a0a
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov al, byte [ecx + 8]
mov dword [esp + 0x14], edx
cmp al, 0x13
jne 0x10123a53
movsd xmm0, qword [ecx]
jmp 0x10123a6d
mov edx, dword [esp + 0x10]
cmp al, 3
jne 0x101229f4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.10312100
mov edx, dword [esp + 0x14]
mov al, byte [edx + 8]
movsd qword [esp + 0x18], xmm0
cmp al, 0x13
jne 0x10123a80
movsd xmm1, qword [edx]
jmp 0x10123a9d
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
movaps xmm1, xmm0
movsd xmm0, qword [esp + 0x18]
divsd xmm0, xmm1
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
movsd qword [esi], xmm0
mov byte [esi + 8], 0x13
jmp 0x10122a0a
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x3c]
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
cmp al, 3
jne 0x10123b1b
cmp byte [edx + 8], 3
lea eax, [edx + 8]
mov dword [esp + 0x30], eax
jne 0x10123b2c
push dword [edx + 4]
add dword [esp + 0xc], 4
push dword [edx]
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.10122470
mov dword [esi], eax
add esp, 0x10
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
lea eax, [edx + 8]
jne 0x10123b28
movsd xmm0, qword [ecx]
jmp 0x10123b4d
mov dword [esp + 0x30], eax
cmp byte [esp + 0x23], 3
mov edx, dword [esp + 0x10]
jne 0x101229f4
mov edx, dword [ecx + 4]
mov ecx, dword [ecx]
call fcn.10312100
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov al, byte [eax]
movsd qword [esp + 0x18], xmm0
cmp al, 0x13
jne 0x10123b5f
movsd xmm0, qword [edx]
jmp 0x10123b79
mov ecx, dword [esp + 8]
cmp al, 3
jne 0x10122a0a
mov eax, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov ecx, dword [eax]
call fcn.10312100
movsd xmm4, qword [esp + 0x18]
divsd xmm4, xmm0
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
movsd xmm3, qword [0x1041f158]
movsd xmm1, qword [0x1041f018]
andps xmm3, xmm4
movaps xmm0, xmm4
movaps xmm2, xmm4
xorps xmm0, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm3
addsd xmm2, xmm1
subsd xmm2, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm2
subsd xmm0, xmm4
cmpnlesd xmm0, xmm3
andps xmm0, xmm1
subsd xmm2, xmm0
movsd qword [esi], xmm2
mov byte [esi + 8], 0x13
jmp 0x10122a0a
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr edx, 0x18
add edx, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov ecx, dword [ecx + edx*8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + edx*8 + 4]
mov cl, byte [eax + 8]
mov dword [esp + 0x18], edx
cmp cl, 3
jne 0x10123c34
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
jmp 0x10123d15
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10123cd1
comisd xmm4, xmmword [0x1041f238]
jb 0x10123cd1
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10123cd1
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0xac], eax
mov ecx, edx
mov edx, dword [esp + 0x18]
mov eax, 1
jmp 0x10123cda
mov ecx, dword [esp + 0xa8]
xor eax, eax
mov edi, dword [esp + 0xac]
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
and ecx, dword [esp + 0x30]
add dword [esp + 8], 4
and eax, edx
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr edx, 0x18
add edx, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov ecx, dword [ecx + edx*8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + edx*8 + 4]
mov cl, byte [eax + 8]
mov dword [esp + 0x18], edx
cmp cl, 3
jne 0x10123d76
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xb0], eax
jmp 0x10123e4b
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10123e10
comisd xmm4, xmmword [0x1041f238]
jb 0x10123e10
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10123e10
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x54], eax
mov ecx, edx
mov edx, dword [esp + 0x18]
mov eax, 1
jmp 0x10123e19
mov ecx, dword [esp + 0xb0]
xor eax, eax
mov edi, dword [esp + 0x54]
mov dword [esp + 0x54], edi
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x54]
or ecx, dword [esp + 0x30]
add dword [esp + 8], 4
or eax, edx
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov ecx, dword [esp + 0x3c]
mov eax, edx
shr edx, 0x18
add edx, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov ecx, dword [ecx + edx*8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + edx*8 + 4]
mov cl, byte [eax + 8]
mov dword [esp + 0x18], edx
cmp cl, 3
jne 0x10123ea9
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], eax
jmp 0x10123f75
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10123f43
comisd xmm4, xmmword [0x1041f238]
jb 0x10123f43
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10123f43
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x5c], eax
mov ecx, edx
mov edx, dword [esp + 0x18]
mov eax, 1
jmp 0x10123f49
mov ecx, dword [esp + 0x58]
xor eax, eax
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
xor ecx, dword [esp + 0x30]
add dword [esp + 8], 4
xor eax, edx
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
sub edx, 0x7f
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x10123fd5
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
jmp 0x101240ae
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10124072
comisd xmm4, xmmword [0x1041f238]
jb 0x10124072
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10124072
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0xc4], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x1012407b
mov ecx, dword [esp + 0xc8]
xor eax, eax
mov edi, dword [esp + 0xc4]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd0], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
add dword [esp + 8], 4
mov ecx, edx
neg ecx
mov eax, ecx
cdq
test edx, edx
jg 0x101240d0
jl 0x101240c4
test eax, eax
jae 0x101240f2
cmp edx, 0xffffffff
jg 0x101240db
jl 0x101240d0
cmp eax, 0xffffffc0
ja 0x101240db
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x1012411f
mov eax, dword [esp + 0x14]
movq xmm1, qword [esp + 0xd0]
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x10124119
test edx, edx
jl 0x10124108
jg 0x101240d0
cmp eax, 0x40
jb 0x10124108
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x1012411f
movq xmm1, qword [esp + 0xd0]
movd xmm0, ecx
psllq xmm1, xmm0
movq qword [esp + 0x18], xmm1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x10124165
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x50], eax
jmp 0x1012422f
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x101241ff
comisd xmm4, xmmword [0x1041f238]
jb 0x101241ff
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x101241ff
movaps xmm0, xmm4
call fcn.10312000
mov ecx, eax
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x10124205
mov ecx, dword [esp + 0x60]
xor eax, eax
mov edi, dword [esp + 0x50]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x18], ecx
mov ecx, edi
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov ecx, dword [esp + 0x60]
add dword [esp + 8], 4
xor eax, eax
sub edx, 0x7f
mov dword [esp + 0xf8], edx
sbb eax, eax
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x50]
test eax, eax
jg 0x10124263
jl 0x10124257
test ecx, ecx
jae 0x10124285
cmp eax, 0xffffffff
jg 0x1012426e
jl 0x10124263
cmp ecx, 0xffffffc0
ja 0x1012426e
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x101242b2
movq xmm1, qword [esp + 0xf8]
mov eax, ecx
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x101242ac
test eax, eax
jl 0x1012429b
jg 0x10124263
cmp ecx, 0x40
jb 0x1012429b
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x101242b2
movq xmm1, qword [esp + 0xf8]
movd xmm0, ecx
psllq xmm1, xmm0
movq qword [esp + 0x18], xmm1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov cl, byte [eax + 8]
mov dword [esp + 0x14], edx
mov byte [esp + 0x23], cl
cmp cl, 3
jne 0x10124307
cmp byte [edx + 8], 3
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
jne 0x1012431f
jmp 0x101235f5
cmp cl, 0x13
jne 0x10124318
movsd xmm0, qword [eax]
lea eax, [edx + 8]
jmp 0x10123650
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
cmp byte [esp + 0x23], 3
jmp 0x10123630
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
mov byte [esp + 0x23], cl
cmp cl, 3
jne 0x1012437c
cmp byte [edx + 8], 3
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
jne 0x10124394
mov ecx, dword [eax]
add dword [esp + 8], 4
sub ecx, dword [edx]
mov eax, dword [eax + 4]
sbb eax, dword [edx + 4]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp cl, 0x13
jne 0x1012438d
movsd xmm0, qword [eax]
lea eax, [edx + 8]
jmp 0x10123727
lea ecx, [edx + 8]
mov dword [esp + 0x30], ecx
cmp byte [esp + 0x23], 3
jmp 0x10123707
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
cmp al, 3
jne 0x101243d8
cmp byte [edx + 8], 3
lea eax, [edx + 8]
mov dword [esp + 0x30], eax
jne 0x101243ec
jmp 0x101237ad
cmp al, 0x13
lea eax, [edx + 8]
jne 0x101243e8
movsd xmm0, qword [ecx]
jmp 0x10123801
mov dword [esp + 0x30], eax
cmp byte [esp + 0x23], 3
jmp 0x101237e5
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
cmp al, 3
jne 0x10124452
cmp byte [edx + 8], 3
lea eax, [edx + 8]
mov dword [esp + 0x30], eax
jne 0x10124466
push dword [edx + 4]
add dword [esp + 0xc], 4
push dword [edx]
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.101224f0
mov dword [esi], eax
add esp, 0x10
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
lea eax, [edx + 8]
jne 0x10124462
movsd xmm0, qword [ecx]
jmp 0x101238d9
mov dword [esp + 0x30], eax
cmp byte [esp + 0x23], 3
jmp 0x101238bd
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
jmp 0x10123988
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
jmp 0x10123a42
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov al, byte [ecx + 8]
mov byte [esp + 0x23], al
cmp al, 3
jne 0x10124508
cmp byte [edx + 8], 3
lea eax, [edx + 8]
mov dword [esp + 0x30], eax
jne 0x1012451c
push dword [edx + 4]
add dword [esp + 0xc], 4
push dword [edx]
push dword [ecx + 4]
push dword [ecx]
mov ecx, edi
call fcn.10122470
mov dword [esi], eax
add esp, 0x10
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
lea eax, [edx + 8]
jne 0x10124518
movsd xmm0, qword [ecx]
jmp 0x10123b4d
mov dword [esp + 0x30], eax
cmp byte [esp + 0x23], 3
jmp 0x10123b31
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x1012455d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
jmp 0x10124621
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x101245f7
comisd xmm4, xmmword [0x1041f238]
jb 0x101245f7
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x101245f7
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x6c], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x101245fd
mov ecx, dword [esp + 0x70]
xor eax, eax
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov al, byte [edx + 8]
cmp al, 3
jne 0x1012463a
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], eax
jmp 0x10124701
mov ecx, dword [esp + 8]
cmp al, 0x13
jne 0x10122a0a
movsd xmm3, qword [edx]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x101246cf
comisd xmm4, xmmword [0x1041f238]
jb 0x101246cf
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x101246cf
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x68], eax
mov ecx, edx
mov eax, 1
jmp 0x101246d5
mov ecx, dword [esp + 0x64]
xor eax, eax
mov edx, dword [esp + 0x68]
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x101229f8
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
and ecx, dword [esp + 0x6c]
add dword [esp + 8], 4
and eax, dword [esp + 0x70]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x10124756
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
jmp 0x10124820
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x101247f0
comisd xmm4, xmmword [0x1041f238]
jb 0x101247f0
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x101247f0
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x7c], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x101247f9
mov ecx, dword [esp + 0x80]
xor eax, eax
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov al, byte [edx + 8]
cmp al, 3
jne 0x10124839
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], eax
jmp 0x10124900
mov ecx, dword [esp + 8]
cmp al, 0x13
jne 0x10122a0a
movsd xmm3, qword [edx]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x101248ce
comisd xmm4, xmmword [0x1041f238]
jb 0x101248ce
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x101248ce
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x78], eax
mov ecx, edx
mov eax, 1
jmp 0x101248d4
mov ecx, dword [esp + 0x74]
xor eax, eax
mov edx, dword [esp + 0x78]
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x101229f8
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
or ecx, dword [esp + 0x7c]
add dword [esp + 8], 4
or eax, dword [esp + 0x80]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x1012495b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
jmp 0x10124a2e
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x101249f8
comisd xmm4, xmmword [0x1041f238]
jb 0x101249f8
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x101249f8
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x8c], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x10124a01
mov ecx, dword [esp + 0x90]
xor eax, eax
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ecx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov al, byte [edx + 8]
cmp al, 3
jne 0x10124a4d
mov ecx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
jmp 0x10124b29
mov ecx, dword [esp + 8]
cmp al, 0x13
jne 0x10122a0a
movsd xmm3, qword [edx]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10124ae5
comisd xmm4, xmmword [0x1041f238]
jb 0x10124ae5
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10124ae5
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x88], eax
mov ecx, edx
mov eax, 1
jmp 0x10124aee
mov ecx, dword [esp + 0x84]
xor eax, eax
mov edx, dword [esp + 0x88]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x101229f8
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
xor ecx, dword [esp + 0x8c]
add dword [esp + 8], 4
xor eax, dword [esp + 0x90]
mov dword [esi], ecx
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x10124b95
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
jmp 0x10124c6e
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10124c32
comisd xmm4, xmmword [0x1041f238]
jb 0x10124c32
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10124c32
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0xcc], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x10124c3b
mov ecx, dword [esp + 0xb4]
xor eax, eax
mov edi, dword [esp + 0xcc]
mov dword [esp + 0xcc], edi
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xd8], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov al, byte [edx + 8]
cmp al, 3
jne 0x10124c8d
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x98], eax
mov dword [esp + 0x94], ecx
jmp 0x10124d69
mov ecx, dword [esp + 8]
cmp al, 0x13
jne 0x10122a0a
movsd xmm3, qword [edx]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10124d25
comisd xmm4, xmmword [0x1041f238]
jb 0x10124d25
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10124d25
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0x98], eax
mov ecx, edx
mov eax, 1
jmp 0x10124d2e
mov ecx, dword [esp + 0x94]
xor eax, eax
mov edx, dword [esp + 0x98]
mov dword [esp + 0x98], edx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x101229f8
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
add dword [esp + 8], 4
neg eax
adc ecx, 0
neg ecx
test ecx, ecx
jg 0x101240d0
jl 0x10124d83
test eax, eax
jae 0x10124db9
cmp ecx, 0xffffffff
jg 0x10124da1
jl 0x101240d0
cmp eax, 0xffffffc0
ja 0x10124da1
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x1012411f
movq xmm1, qword [esp + 0xd8]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x10124119
test ecx, ecx
jl 0x10124dd6
jg 0x101240d0
cmp eax, 0x40
jb 0x10124dd6
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x1012411f
movq xmm1, qword [esp + 0xd8]
movd xmm0, eax
jmp 0x10124115
mov eax, edx
shr edx, 0x18
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x14], edx
mov cl, byte [eax + 8]
cmp cl, 3
jne 0x10124e33
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
jmp 0x10124f0c
cmp cl, 0x13
mov ecx, dword [esp + 8]
jne 0x10122a0a
movsd xmm3, qword [eax]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10124ed0
comisd xmm4, xmmword [0x1041f238]
jb 0x10124ed0
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10124ed0
movaps xmm0, xmm4
call fcn.10312000
mov dword [esp + 0xb8], eax
mov ecx, edx
mov edx, dword [esp + 0x14]
mov eax, 1
jmp 0x10124ed9
mov ecx, dword [esp + 0xbc]
xor eax, eax
mov edi, dword [esp + 0xb8]
mov dword [esp + 0xb8], edi
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xe0], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esp + 8]
test eax, eax
je 0x10122a0a
mov al, byte [edx + 8]
cmp al, 3
jne 0x10124f2b
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
jmp 0x10125000
mov ecx, dword [esp + 8]
cmp al, 0x13
jne 0x10122a0a
movsd xmm3, qword [edx]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, qword [0x1041f018]
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x10124fbc
comisd xmm4, xmmword [0x1041f238]
jb 0x10124fbc
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x10124fbc
movaps xmm0, xmm4
call fcn.10312000
mov ecx, eax
mov eax, 1
jmp 0x10124fcc
mov edx, dword [esp + 0xa0]
xor eax, eax
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x10]
test eax, eax
je 0x101229f8
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
add dword [esp + 8], 4
test ecx, ecx
jg 0x101240d0
jl 0x10125013
test eax, eax
jae 0x10125049
cmp ecx, 0xffffffff
jg 0x10125031
jl 0x101240d0
cmp eax, 0xffffffc0
ja 0x10125031
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x1012411f
movq xmm1, qword [esp + 0xe0]
neg eax
movd xmm0, eax
psrlq xmm1, xmm0
jmp 0x10124119
test ecx, ecx
jl 0x10125066
jg 0x101240d0
cmp eax, 0x40
jb 0x10125066
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
jmp 0x1012411f
movq xmm1, qword [esp + 0xe0]
movd xmm0, eax
jmp 0x10124115
mov edi, dword [esp + 0xc]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 8]
shr edx, 0x18
push edx
mov dword [esp + 0x18], edx
mov edx, esi
mov eax, dword [eax - 8]
shr eax, 7
movzx ecx, al
mov eax, dword [esp + 0xc]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x30]
shl ecx, 4
add ecx, dword [esp + 0x2c]
mov eax, dword [eax + 4]
push ecx
push dword [esp + 0x2c]
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.1011f270
add esp, 0xc
test eax, eax
jne 0x10122ca8
mov eax, dword [esp + 0x14]
add eax, 0xfffffff3
cmp eax, 6
ja case.0x101250ee.18
movzx eax, byte [eax + 0x10126c28]
jmp dword [eax*4 + 0x10126c20]
mov ecx, dword [esp + 8]
mov eax, edx
mov edi, dword [esp + 0x2c]
shr eax, 0x18
mov dword [esp + 0x24], eax
mov eax, dword [ecx - 8]
shr eax, 7
push dword [esp + 0x24]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
push dword [esp + 0x34]
mov byte [esp + 0xf8], 3
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov eax, edx
shr eax, 0x10
movzx ecx, al
xor eax, eax
sub ecx, 0x7f
mov dword [esp + 0xf0], ecx
mov ecx, edi
sbb eax, eax
mov dword [esp + 0xf4], eax
test edx, 0x8000
je 0x10125194
push esi
lea edx, [esp + 0xf4]
call fcn.1011f270
add esp, 0xc
test eax, eax
jne 0x10122ca8
mov eax, dword [esp + 0x24]
add eax, 0xfffffff3
cmp eax, 6
ja case.0x1012518d.18
movzx eax, byte [eax + 0x10126c38]
jmp dword [eax*4 + 0x10126c30]
lea eax, [esp + 0xf0]
mov edx, esi
push eax
call fcn.1011f350
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov edi, dword [esp + 0xc]
mov eax, edx
shr eax, 0x10
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
mov eax, edx
shr eax, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov eax, dword [eax - 8]
shr eax, 7
movzx ecx, al
mov eax, dword [esp + 8]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
shl ecx, 4
add ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
test edx, 0x8000
je 0x10125231
push dword [esp + 0x18]
mov edx, dword [esp + 0x34]
push ecx
push esi
mov ecx, edi
call fcn.1011f350
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
push dword [esp + 0x18]
mov edx, esi
mov esi, dword [esp + 0x34]
push ecx
push esi
mov ecx, edi
call fcn.1011f350
mov esi, dword [esp + 0x18]
add esp, 0xc
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
shr edx, 0x10
movzx edx, dl
shl edx, 4
add edx, dword [esp + 0x28]
mov dword [esp + 0x18], edx
mov al, byte [edx + 8]
cmp al, 3
jne 0x1012528d
mov ecx, dword [edx]
mov eax, dword [edx + 4]
neg ecx
mov dword [esi], ecx
adc eax, 0
neg eax
mov dword [esi + 4], eax
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
jne 0x101252a1
movsd xmm0, qword [edx]
xorps xmm0, xmmword [0x1041f470]
jmp 0x101229fe
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push 0x12
push esi
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
push edx
mov dword [edi + 0xc], eax
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x101269a6
jmp 0x10122ca8
shr edx, 0x10
movzx ecx, dl
shl ecx, 4
add ecx, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
mov al, byte [ecx + 8]
cmp al, 3
jne 0x1012530a
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0xa4], eax
not eax
mov dword [esp + 0xc0], edx
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
cmp al, 0x13
jne 0x101253e3
movsd xmm3, qword [ecx]
movsd xmm2, qword [0x1041f158]
movaps xmm0, xmm3
movsd xmm1, qword [0x1041f018]
andps xmm2, xmm3
xorps xmm0, xmm2
movaps xmm4, xmm3
cmpltsd xmm0, xmm1
andps xmm1, xmm0
orps xmm1, xmm2
addsd xmm4, xmm1
subsd xmm4, xmm1
movsd xmm1, qword [0x1041ee48]
movaps xmm0, xmm4
subsd xmm0, xmm3
cmpnlesd xmm0, xmm2
andps xmm0, xmm1
subsd xmm4, xmm0
ucomisd xmm3, xmm4
lahf
test ah, 0x44
jp 0x1012539c
comisd xmm4, xmmword [0x1041f238]
jb 0x1012539c
movsd xmm0, qword [0x1041f088]
comisd xmm0, xmm4
jbe 0x1012539c
movaps xmm0, xmm4
call fcn.10312000
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa4], eax
mov eax, 1
jmp 0x101253a5
mov edx, dword [esp + 0xc0]
xor eax, eax
mov edi, dword [esp + 0xa4]
mov dword [esp + 0xa4], edi
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc0], edx
mov dword [esp + 0x1c], edx
test eax, eax
je 0x101253e3
mov eax, dword [esp + 0xa4]
not edx
not eax
mov dword [esi], eax
mov dword [esi + 4], edx
mov byte [esi + 8], 3
jmp case.default.0x10122a66
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push 0x13
push esi
mov dword [edx + 0x10], eax
mov eax, dword [edx + 4]
mov edx, ecx
push ecx
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.1011f270
add esp, 0xc
test eax, eax
jne 0x10122ca8
mov edx, dword [esp + 0x30]
mov ecx, edi
mov al, byte [edx + 8]
and al, 0xf
cmp al, 3
je 0x101269b7
jmp 0x10126a5f
mov ecx, dword [esp + 0x28]
shr edx, 0x10
movzx eax, dl
add eax, eax
mov al, byte [ecx + eax*8 + 8]
cmp al, 1
je 0x10125446
test al, 0xf
je 0x10125446
mov al, 1
mov byte [esi + 8], al
jmp case.default.0x10122a66
mov al, 0x11
mov byte [esi + 8], al
jmp case.default.0x10122a66
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
shr edx, 0x10
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
mov dword [edi + 0xc], eax
movzx eax, dl
mov edx, esi
shl eax, 4
add eax, dword [esp + 0x28]
push eax
call fcn.10122380
mov esi, dword [esp + 0x10]
add esp, 4
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
shr edx, 0x10
lea ecx, [edi + 0xc]
movzx edx, dl
mov eax, edx
shl eax, 4
add eax, esi
mov esi, dword [esp + 8]
mov dword [ecx], eax
mov ecx, edi
mov eax, dword [esp + 0xc]
mov dword [eax + 0x10], esi
call fcn.10122120
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x14]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x10], edx
cmp dword [eax + 0xc], 0
jle 0x101229f4
mov dword [ecx + 0x10], esi
mov ecx, edi
call fcn.101074c0
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov ecx, dword [esp + 0xc]
mov edx, esi
mov eax, dword [esp + 8]
push 1
push 0
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.10103b90
mov esi, dword [esp + 0x14]
add esp, 8
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [edi + 0xc], eax
mov al, byte [esi + 8]
cmp al, 1
je 0x101229f8
test al, 0xf
je 0x101229f8
movzx ecx, al
and ecx, 0xf
mov eax, ecx
sub eax, 5
je 0x1012556b
sub eax, 2
je 0x10125564
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + ecx*4 + 0x110]
jmp 0x10125570
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
jmp 0x10125570
mov eax, dword [esi]
mov ecx, dword [eax + 0x18]
mov eax, dword [edi + 0x10]
test ecx, ecx
je 0x10125584
mov edx, dword [eax + 0x10c]
call fcn.1011d8e0
jmp 0x10125587
add eax, 0x38
test byte [eax + 8], 0xf
je 0x10126a6a
mov ecx, dword [edi + 0x24]
mov eax, esi
sub eax, ecx
sar eax, 4
cmp eax, 0xffff
jbe 0x101255c2
lea eax, [ecx + 0xffff0]
xor ecx, ecx
mov dword [edi + 0x24], eax
mov word [eax + 0xa], cx
mov eax, esi
mov ecx, dword [edi + 0x24]
sub eax, ecx
sar eax, 4
cmp eax, 0xffff
ja 0x101255a2
mov eax, esi
sub eax, ecx
sar eax, 4
mov word [esi + 0xa], ax
mov dword [edi + 0x24], esi
jmp case.default.0x10122a66
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0xc]
lea ecx, [ecx + eax*4]
mov edx, dword [esi + 0x14]
add ecx, 0xfc000004
mov dword [esp + 8], ecx
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
mov dword [edi + 0xc], eax
mov eax, edx
shr eax, 0x10
mov edx, esi
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x28]
push eax
call fcn.10121ec0
mov ecx, dword [esp + 0x18]
add esp, 4
mov esi, dword [esp + 0xc]
shr ecx, 0xf
and ecx, 1
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
cmp eax, ecx
je 0x10125650
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a12
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
mov eax, dword [ecx]
shr eax, 7
lea ecx, [ecx + eax*4]
add ecx, 0xfc000008
mov dword [esp + 8], ecx
jmp 0x10122a12
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov al, byte [esi + 8]
shl ecx, 4
add ecx, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
cmp al, 3
jne 0x101256ba
cmp byte [ecx + 8], al
jne 0x101256ba
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 4]
jg 0x101256af
jl 0x101256a1
mov eax, dword [esi]
cmp eax, dword [ecx]
jae 0x101256af
mov esi, dword [esp + 0xc]
mov eax, 1
jmp 0x10125747
mov esi, dword [esp + 0xc]
xor eax, eax
jmp 0x10125747
and al, 0xf
cmp al, 3
jne 0x101256d8
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 3
jne 0x101256d8
mov edx, ecx
mov ecx, esi
call fcn.10121970
mov esi, dword [esp + 0xc]
jmp 0x10125743
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edx + 0x10], eax
mov edx, dword [edx + 4]
mov dword [edi + 0xc], edx
mov al, byte [esi + 8]
and al, 0xf
cmp al, 4
jne 0x10125709
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 4
jne 0x10125709
mov edx, dword [ecx]
mov ecx, dword [esi]
call fcn.101218d0
shr eax, 0x1f
jmp 0x10125738
push 0x14
push edx
push ecx
mov edx, esi
mov ecx, edi
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x10126a95
mov eax, dword [edi + 0xc]
mov al, byte [eax + 8]
cmp al, 1
je 0x10125736
test al, 0xf
je 0x10125736
mov eax, 1
jmp 0x10125738
xor eax, eax
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x14]
shr edx, 0xf
and edx, 1
cmp eax, edx
je 0x10125650
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a0e
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov al, byte [esi + 8]
shl ecx, 4
add ecx, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
cmp al, 3
jne 0x101257ad
cmp byte [ecx + 8], al
jne 0x101257ad
mov eax, dword [esi + 4]
cmp eax, dword [ecx + 4]
jg 0x101257a2
jl 0x10125794
mov eax, dword [esi]
cmp eax, dword [ecx]
ja 0x101257a2
mov esi, dword [esp + 0xc]
mov ecx, 1
jmp 0x10125840
mov esi, dword [esp + 0xc]
xor ecx, ecx
jmp 0x10125840
and al, 0xf
cmp al, 3
jne 0x101257cd
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 3
jne 0x101257cd
mov edx, ecx
mov ecx, esi
call fcn.10121ba0
mov esi, dword [esp + 0xc]
mov ecx, eax
jmp 0x1012583c
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edx + 0x10], eax
mov edx, dword [edx + 4]
mov dword [edi + 0xc], edx
mov al, byte [esi + 8]
and al, 0xf
cmp al, 4
jne 0x10125802
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 4
jne 0x10125802
mov edx, dword [ecx]
mov ecx, dword [esi]
call fcn.101218d0
xor ecx, ecx
test eax, eax
setle cl
jmp 0x10125831
push 0x15
push edx
push ecx
mov edx, esi
mov ecx, edi
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x10126aa2
mov eax, dword [edi + 0xc]
mov al, byte [eax + 8]
cmp al, 1
je 0x1012582f
test al, 0xf
je 0x1012582f
mov ecx, 1
jmp 0x10125831
xor ecx, ecx
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x14]
shr edx, 0xf
and edx, 1
cmp ecx, edx
je 0x10125650
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a0e
mov eax, edx
xor ecx, ecx
shr eax, 0x10
mov edx, esi
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x3c]
push eax
call fcn.10121ec0
mov ecx, dword [esp + 0x18]
add esp, 4
shr ecx, 0xf
and ecx, 1
cmp eax, ecx
je 0x10125d20
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a0a
mov eax, edx
shr eax, 0x10
movzx eax, al
lea ecx, [eax - 0x7f]
mov dword [esp + 0x18], ecx
mov cl, byte [esi + 8]
cmp cl, 3
jne 0x101258ca
xor ecx, ecx
sub eax, 0x7f
sbb ecx, ecx
cmp dword [esi], eax
jne 0x101258ee
cmp dword [esi + 4], ecx
jne 0x101258ee
mov eax, 1
jmp 0x101258f0
cmp cl, 0x13
jne 0x101258ee
movd xmm1, dword [esp + 0x18]
movsd xmm0, qword [esi]
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jp 0x101258ee
mov eax, 1
jmp 0x101258f0
xor eax, eax
shr edx, 0xf
and edx, 1
cmp eax, edx
je 0x10125d20
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a0a
mov eax, edx
shr eax, 0x10
movzx ecx, al
lea eax, [ecx - 0x7f]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x10125950
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jg 0x101256af
jl 0x101256a1
cmp dword [esi], ecx
jae 0x101256af
mov esi, dword [esp + 0xc]
mov eax, 1
jmp 0x10125747
cmp al, 0x13
jne 0x10125970
movd xmm0, dword [esp + 0x30]
xor eax, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [esi]
mov esi, dword [esp + 0xc]
seta al
jmp 0x10125747
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov dword [edi + 0xc], eax
cmp edx, 0x1000000
jb 0x101259b0
movd xmm0, dword [esp + 0x30]
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x108], 0x13
movsd qword [esp + 0x100], xmm0
jmp 0x101259d1
xor eax, eax
mov byte [esp + 0x108], 3
sub ecx, 0x7f
mov dword [esp + 0x100], ecx
sbb eax, eax
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x18]
push 0x14
push eax
lea eax, [esp + 0x108]
mov edx, esi
push eax
mov ecx, edi
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x101269bd
jmp 0x10125721
mov eax, edx
shr eax, 0x10
movzx ecx, al
lea eax, [ecx - 0x7f]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x10125a37
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jg 0x101256af
jl 0x101256a1
cmp dword [esi], ecx
ja 0x101256af
mov esi, dword [esp + 0xc]
mov eax, 1
jmp 0x10125747
cmp al, 0x13
jne 0x10125a57
movd xmm0, dword [esp + 0x30]
xor eax, eax
cvtdq2pd xmm0, xmm0
comisd xmm0, xmmword [esi]
mov esi, dword [esp + 0xc]
setae al
jmp 0x10125747
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov dword [edi + 0xc], eax
cmp edx, 0x1000000
jb 0x10125a97
movd xmm0, dword [esp + 0x30]
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x118], 0x13
movsd qword [esp + 0x110], xmm0
jmp 0x10125ab8
xor eax, eax
mov byte [esp + 0x118], 3
sub ecx, 0x7f
mov dword [esp + 0x110], ecx
sbb eax, eax
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x18]
push 0x15
push eax
lea eax, [esp + 0x118]
mov edx, esi
push eax
mov ecx, edi
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x101269ce
jmp 0x10125721
mov eax, edx
shr eax, 0x10
movzx ecx, al
lea eax, [ecx - 0x7f]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x10125b1e
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jl 0x101256af
jg 0x101256a1
cmp dword [esi], ecx
jbe 0x101256af
mov esi, dword [esp + 0xc]
mov eax, 1
jmp 0x10125747
cmp al, 0x13
jne 0x10125b42
movd xmm1, dword [esp + 0x30]
xor eax, eax
movsd xmm0, qword [esi]
mov esi, dword [esp + 0xc]
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
seta al
jmp 0x10125747
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov dword [edi + 0xc], eax
cmp edx, 0x1000000
jb 0x10125b82
movd xmm0, dword [esp + 0x30]
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x128], 0x13
movsd qword [esp + 0x120], xmm0
jmp 0x10125ba3
xor eax, eax
mov byte [esp + 0x128], 3
sub ecx, 0x7f
mov dword [esp + 0x120], ecx
sbb eax, eax
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x18]
push 0x14
push eax
push esi
lea edx, [esp + 0x12c]
mov ecx, edi
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x101269df
jmp 0x10125721
mov eax, edx
shr eax, 0x10
movzx ecx, al
lea eax, [ecx - 0x7f]
mov dword [esp + 0x30], eax
mov al, byte [esi + 8]
cmp al, 3
jne 0x10125c07
xor eax, eax
sub ecx, 0x7f
sbb eax, eax
cmp dword [esi + 4], eax
jl 0x101256af
jg 0x101256a1
cmp dword [esi], ecx
jb 0x101256af
mov esi, dword [esp + 0xc]
mov eax, 1
jmp 0x10125747
cmp al, 0x13
jne 0x10125c2b
movd xmm1, dword [esp + 0x30]
xor eax, eax
movsd xmm0, qword [esi]
mov esi, dword [esp + 0xc]
cvtdq2pd xmm1, xmm1
comisd xmm0, xmm1
setae al
jmp 0x10125747
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edi + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov dword [edi + 0xc], eax
cmp edx, 0x1000000
jb 0x10125c6b
movd xmm0, dword [esp + 0x30]
cvtdq2pd xmm0, xmm0
mov byte [esp + 0x138], 0x13
movsd qword [esp + 0x130], xmm0
jmp 0x10125c8c
xor eax, eax
mov byte [esp + 0x138], 3
sub ecx, 0x7f
mov dword [esp + 0x130], ecx
sbb eax, eax
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x18]
push 0x15
push eax
push esi
lea edx, [esp + 0x13c]
mov ecx, edi
call fcn.1011f270
add esp, 0xc
test eax, eax
je 0x101269ee
jmp 0x10125721
mov al, byte [esi + 8]
cmp al, 1
je 0x101258ee
test al, 0xf
je 0x101258ee
mov eax, 1
jmp 0x101258f0
mov eax, edx
shr eax, 0x10
movzx ecx, al
shl ecx, 4
add ecx, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
mov al, byte [ecx + 8]
cmp al, 1
je 0x10125ced
test al, 0xf
je 0x10125ced
xor eax, eax
jmp 0x10125cf2
mov eax, 1
shr edx, 0xf
and edx, 1
cmp eax, edx
jne 0x10125d0c
mov ecx, dword [esp + 8]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a0a
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi], eax
mov eax, dword [esp + 0x18]
mov dword [esi + 4], ecx
mov al, byte [eax + 8]
mov byte [esi + 8], al
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov eax, dword [ecx]
mov edx, dword [esi + 0x14]
shr eax, 7
mov dword [esp + 0x10], edx
lea ecx, [ecx + eax*4]
add ecx, 0xfc000008
mov dword [esp + 8], ecx
jmp 0x10122a12
mov eax, edx
shr edx, 0x18
shr eax, 0x10
dec edx
movzx eax, al
test eax, eax
je 0x10125d5e
shl eax, 4
add eax, esi
mov dword [edi + 0xc], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push edx
mov edx, esi
mov dword [ecx + 0x10], eax
mov ecx, edi
call fcn.10102460
add esp, 4
test eax, eax
je 0x10122ca8
mov esi, eax
xor ecx, ecx
mov dword [esp + 0xc], esi
mov word [eax + 0x22], cx
jmp 0x10122960
cmp byte [esi + 0x28], 3
jne 0x10125e03
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x10125daf
test eax, eax
je 0x10125e5e
mov eax, dword [esi]
mov edi, dword [esp + 0x18]
mov ecx, dword [esi + 4]
sub edi, 1
mov dword [esi + 0x10], edi
sbb dword [esp + 0x24], 0
add eax, dword [esi + 0x20]
mov edi, dword [esp + 0x24]
adc ecx, dword [esi + 0x24]
mov dword [esi + 4], ecx
mov dword [esi + 0x14], edi
mov edi, dword [esp + 0x2c]
mov dword [esi], eax
mov dword [esi + 0x34], ecx
mov ecx, dword [esp + 8]
shr edx, 0xf
mov dword [esi + 0x30], eax
neg edx
mov byte [esi + 0x38], 3
mov esi, dword [esp + 0xc]
lea ecx, [ecx + edx*4]
mov dword [esp + 8], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
movsd xmm0, qword [esi + 0x20]
xor eax, eax
comisd xmm0, xmmword [0x1041ec20]
movsd xmm2, qword [esi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [esi]
jbe 0x10125e26
comisd xmm2, xmm1
jmp 0x10125e2a
comisd xmm1, xmm2
mov ecx, dword [esp + 8]
setae al
test eax, eax
je 0x10125e62
movsd qword [esi], xmm1
shr edx, 0xf
movsd qword [esi + 0x30], xmm1
neg edx
mov byte [esi + 0x38], 0x13
mov esi, dword [esp + 0xc]
lea ecx, [ecx + edx*4]
mov dword [esp + 8], ecx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov ecx, dword [esp + 0xc]
mov edx, esi
mov eax, dword [esp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.101211f0
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
je 0x10122a12
mov eax, dword [esp + 0x14]
shr eax, 0xf
lea ecx, [ecx + eax*4]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10122a0a
mov ecx, dword [esp + 0xc]
lea edx, [esi + 0x30]
mov eax, dword [esp + 8]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
mov dword [edi + 0xc], eax
call fcn.101039f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
shr eax, 0xf
lea ecx, [ecx + eax*4]
mov eax, dword [ecx]
add ecx, 4
mov dword [esp + 0x14], eax
mov dword [esp + 8], ecx
jmp 0x10125ef2
mov ecx, dword [esp + 8]
movups xmm0, xmmword [esi]
lea edx, [esi + 0x40]
lea eax, [esi + 0x70]
movups xmmword [edx], xmm0
push 1
movups xmm0, xmmword [esi + 0x10]
movups xmmword [edx + 0x10], xmm0
movups xmm0, xmmword [esi + 0x20]
movups xmmword [edx + 0x20], xmm0
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [eax + 0x10], ecx
mov ecx, edi
mov eax, dword [esp + 0x18]
shr eax, 0x18
push eax
call fcn.10102760
mov eax, dword [esp + 0x14]
add esp, 8
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x10125f53
mov ecx, dword [eax]
mov eax, dword [esp + 0x14]
add ecx, 0x10
shr eax, 7
movzx esi, al
shl esi, 4
mov dword [esp + 0x28], ecx
add esi, ecx
mov ecx, dword [esp + 8]
mov edx, dword [ecx]
add ecx, 4
mov dword [esp + 8], ecx
jmp 0x10125f66
mov ecx, dword [esp + 8]
test byte [esi + 0x48], 0xf
je 0x10122a0a
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x44]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 8]
shr edx, 0xf
neg edx
mov dword [esi + 0x20], eax
mov al, byte [esi + 0x48]
mov byte [esi + 0x28], al
lea ecx, [ecx + edx*4]
mov dword [esp + 8], ecx
jmp 0x10122a0a
mov edi, dword [esi]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 0x18
test ecx, ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], edi
jne 0x10125fc9
mov eax, dword [ecx + 0xc]
sub eax, esi
sar eax, 4
dec eax
mov dword [esp + 0x24], eax
jmp 0x10125fd7
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x14], ecx
test edx, 0x8000
je 0x10126002
mov edx, dword [esp + 8]
mov eax, dword [edx]
shr eax, 7
shl eax, 8
add ecx, eax
add edx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 8], edx
cmp byte [edi + 6], 0
jge 0x10126037
mov edx, dword [edi + 8]
lea eax, [edx - 1]
test edx, eax
je 0x10126037
mov eax, edx
shr eax, 1
or edx, eax
mov eax, edx
shr eax, 2
or edx, eax
mov eax, edx
shr eax, 4
or edx, eax
mov eax, edx
shr eax, 8
or edx, eax
mov eax, edx
shr eax, 0x10
or eax, edx
inc eax
jmp 0x1012603a
mov eax, dword [edi + 8]
cmp ecx, eax
jbe 0x1012606a
cmp dword [edi + 0x14], 0
jne 0x10126048
xor eax, eax
jmp 0x10126056
mov cl, byte [edi + 7]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x14]
push eax
push ecx
mov ecx, dword [esp + 0x34]
mov edx, edi
call fcn.1011cf10
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
test eax, eax
jle 0x101229f0
shl ecx, 4
shl eax, 4
add eax, esi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov esi, eax
nop dword [eax]
mov edx, dword [edi + 0xc]
mov edi, dword [esp + 0x14]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edx + edi - 0x10], eax
mov eax, edi
mov dword [edx + eax - 0xc], ecx
mov ecx, edi
mov al, byte [esi + 8]
mov edi, dword [esp + 0x30]
mov byte [edx + ecx - 8], al
sub ecx, 0x10
test byte [esi + 8], 0x40
mov dword [esp + 0x14], ecx
je 0x10126108
mov cl, byte [edi + 5]
test cl, 0x20
je 0x10126108
mov eax, dword [esi]
test byte [eax + 5], 0x18
je 0x10126108
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x10]
mov al, cl
and al, 7
cmp al, 6
je 0x101260f1
mov ecx, edi
call fcn.10103e10
mov ecx, dword [edx + 0x68]
mov dword [eax], ecx
mov dword [edx + 0x68], edi
mov cl, byte [edi + 5]
and cl, 0xc7
mov al, cl
mov byte [edi + 5], cl
and al, 7
cmp al, 1
jbe 0x10126108
and cl, 0xfd
or cl, 5
mov byte [edi + 5], cl
mov eax, dword [esp + 0x24]
sub esi, 0x10
dec eax
mov dword [esp + 0x24], eax
test eax, eax
jg 0x10126090
mov edi, dword [esp + 0x2c]
jmp case.default.0x10122a66
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xc]
shr edx, 0xf
push esi
mov eax, dword [eax + 0xc]
push dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + edx*4]
mov eax, dword [esp + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov ecx, edi
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x54]
add eax, 0x10
push eax
call fcn.10122610
add esp, 0xc
jmp 0x1012343d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
shr edx, 0x18
sub edx, 1
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [edi + 0xc], eax
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], ecx
jns 0x10126221
mov eax, dword [edi + 0x18]
mov edx, ecx
sub eax, dword [esp + 0x18]
sar eax, 4
mov dword [esp + 0x14], edx
cmp eax, ecx
jg 0x10126217
mov eax, dword [edi + 0x10]
sub esi, dword [edi + 0x1c]
mov dword [esp + 0x18], esi
cmp dword [eax + 0xc], 0
jle 0x101261bd
mov ecx, edi
call fcn.101074c0
mov ecx, dword [esp + 0x24]
mov edx, dword [edi + 0x18]
mov esi, dword [edi + 0x1c]
sub edx, esi
sar edx, 4
cmp edx, 0xf4240
jg 0x10126acb
mov eax, dword [edi + 0xc]
add edx, edx
sub eax, esi
sar eax, 4
add eax, ecx
cmp edx, 0xf4240
mov ecx, 0xf4240
cmovg edx, ecx
cmp edx, eax
jge 0x101261fc
mov edx, eax
cmp edx, ecx
jg 0x10126aaf
push 1
mov ecx, edi
call fcn.10101d30
mov esi, dword [edi + 0x1c]
add esp, 4
add esi, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov eax, ecx
shl eax, 4
add eax, esi
mov dword [edi + 0xc], eax
xor ecx, ecx
mov dword [esp + 0x30], ecx
test edx, edx
jle 0x10122ca8
mov eax, dword [esp + 0x24]
mov edi, esi
neg eax
shl eax, 4
mov dword [esp + 0x40], eax
nop
cmp ecx, dword [esp + 0x24]
jge 0x10126296
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
mov ecx, dword [edx + eax + 4]
add edx, eax
mov eax, dword [edx]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov al, byte [edx + 8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
inc ecx
mov byte [edi + 8], al
add edi, 0x10
mov eax, dword [esp + 0x40]
add eax, 0x10
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], eax
cmp ecx, edx
jl 0x10126240
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
cmp ecx, edx
jge 0x1012627e
mov eax, ecx
shl eax, 4
add eax, 8
add eax, esi
sub edx, ecx
mov byte [eax], 0
lea eax, [eax + 0x10]
sub edx, 1
jne 0x101262a6
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x10], edx
jmp 0x10122a12
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0xc]
mov eax, dword [edi + 0xc]
sub eax, dword [edx]
sar eax, 4
dec eax
mov dword [esp + 0x30], eax
sub eax, dword [esp + 0x24]
mov dword [edx + 0x18], eax
movzx eax, byte [ecx + 8]
mov edx, dword [edi + 0x18]
mov ecx, edx
mov esi, dword [edi + 0xc]
sub ecx, esi
mov dword [esp + 0x18], eax
inc eax
sar ecx, 4
cmp ecx, eax
jg 0x10126353
mov eax, dword [edi + 0x1c]
sub edx, eax
sar edx, 4
cmp edx, 0xf4240
jg 0x10126acb
sub esi, eax
add edx, edx
mov eax, dword [esp + 0x18]
mov ecx, 0xf4240
sar esi, 4
inc eax
add eax, esi
cmp edx, 0xf4240
cmovg edx, ecx
cmp edx, eax
jge 0x10126347
mov edx, eax
cmp edx, ecx
jg 0x10126aaf
push 1
mov ecx, edi
call fcn.10101d30
add esp, 4
cmp dword [esp + 0x24], 1
mov esi, dword [edi + 0xc]
lea eax, [esi + 0x10]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + 8]
mov byte [esi + 8], al
jb 0x101263c2
mov edi, 0x10
nop
sub dword [esp + 0x24], 1
lea edi, [edi + 0x10]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 0xc]
lea eax, [esi + 0x10]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov eax, dword [edx + edi - 0x10]
mov ecx, dword [edx + edi - 0xc]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov al, byte [edx + edi - 8]
mov byte [esi + 8], al
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov byte [edi + eax - 8], 0
jne 0x10126380
mov edi, dword [esp + 0x2c]
jmp 0x101263c6
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov edx, dword [esi + 0x14]
shl ecx, 4
mov dword [esp + 0x10], edx
lea eax, [ecx + 0x10]
add dword [esi], eax
lea eax, [ecx + 0x10]
add dword [esi + 4], eax
test edx, edx
je 0x10126428
mov eax, dword [edi + 0x70]
mov dword [edi + 0x64], 0
test al, 1
je 0x10126421
mov eax, dword [esi]
mov ecx, edi
movzx edx, word [esi + 0x22]
shr edx, 3
and edx, 4
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
add dword [esi + 0x10], 4
movzx eax, byte [eax + 6]
push eax
push 1
push 0xffffffffffffffff
call fcn.10102090
mov edx, dword [esp + 0x1c]
add esp, 0xc
add dword [esi + 0x10], 0xfffffffc
mov dword [edi + 0x64], 1
mov eax, dword [esi]
mov ecx, dword [esp + 8]
add eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x10122a12
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 0x18
mov dword [esp + 0x24], ecx
test eax, eax
je 0x10126462
mov edi, dword [esp + 0xc]
mov edi, dword [edi + 0x18]
add edi, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x2c]
jmp 0x1012646a
mov dword [esp + 0x4c], 0
test ecx, ecx
je 0x1012647a
mov eax, ecx
shl eax, 4
add eax, esi
mov dword [edi + 0xc], eax
jmp 0x10126486
mov ecx, dword [edi + 0xc]
sub ecx, esi
sar ecx, 4
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [ecx + 0x10], eax
test edx, 0x8000
je 0x101264a4
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.10103ac0
mov al, byte [esi + 8]
and al, 0xf
cmp al, 6
je 0x10126541
mov edx, esi
mov ecx, edi
call fcn.10102230
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0xc]
inc dword [esp + 0x24]
and eax, 0xfffffff0
cmp eax, 0x10
jg 0x10126534
mov eax, dword [edi + 0x10]
sub esi, dword [edi + 0x1c]
mov dword [esp + 0x18], esi
cmp dword [eax + 0xc], 0
jle 0x101264e3
mov ecx, edi
call fcn.101074c0
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
sub edx, ecx
sar edx, 4
cmp edx, 0xf4240
jg 0x10126acb
mov eax, dword [edi + 0xc]
add edx, edx
sub eax, ecx
mov ecx, 0xf4240
sar eax, 4
inc eax
cmp edx, 0xf4240
cmovg edx, ecx
cmp edx, eax
jge 0x10126521
mov edx, eax
cmp edx, ecx
jg 0x10126aaf
push 1
mov ecx, edi
call fcn.10101d30
mov esi, dword [edi + 0x1c]
add esp, 4
add esi, dword [esp + 0x18]
mov al, byte [esi + 8]
and al, 0xf
cmp al, 6
jne 0x101264b1
cmp byte [esi + 8], 0x46
je 0x1012682d
push 0xffffffffffffffff
mov edx, esi
mov ecx, edi
call fcn.10102460
mov edx, dword [esp + 0x10]
add esp, 4
mov eax, dword [edx + 0x14]
test eax, eax
je 0x1012656f
mov ecx, dword [esp + 0x30]
mov esi, dword [edx]
add ecx, 0x10
add esi, ecx
mov eax, dword [esp + 0x4c]
neg eax
shl eax, 4
add dword [edx], eax
mov eax, dword [edi + 0xc]
sub eax, esi
movsx esi, word [edx + 0x20]
sar eax, 4
cmp dword [edi + 0x70], 0
mov dword [esp + 0x18], eax
je 0x101265a8
cmp esi, 0xffffffff
jl 0x101265a8
push eax
mov ecx, edi
call fcn.101021b0
mov eax, dword [esp + 0x1c]
add esp, 4
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
mov ecx, edi
push esi
push eax
call fcn.101022e0
mov edx, dword [esp + 0x14]
add esp, 8
add edx, 8
mov eax, dword [edx]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x10126814
mov eax, edx
mov ecx, edx
shr eax, 0x10
movzx eax, al
dec eax
shr ecx, 0x18
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], ecx
test eax, eax
jns 0x101265f8
mov eax, dword [edi + 0xc]
sub eax, esi
sar eax, 4
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x24]
test edx, 0x8000
je 0x1012664c
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
cmp dword [edi + 0xc], eax
jae 0x1012661e
mov dword [edi + 0xc], eax
mov edx, dword [esp + 0x28]
mov ecx, edi
push 1
push 0xffffffffffffffff
call fcn.10103b90
mov edx, dword [esp + 0x14]
add esp, 8
mov eax, dword [edx + 0x14]
test eax, eax
je 0x10126646
mov ecx, dword [esp + 0x30]
mov esi, dword [edx]
add ecx, 0x10
add esi, ecx
mov ecx, dword [esp + 0x24]
jmp 0x10126650
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x10126660
mov eax, dword [edx + 0x18]
add eax, ecx
neg eax
shl eax, 4
add dword [edx], eax
mov ecx, dword [esp + 0x4c]
mov eax, ecx
shl eax, 4
add eax, esi
cmp dword [edi + 0x70], 0
mov dword [edi + 0xc], eax
movsx esi, word [edx + 0x20]
je 0x10126690
cmp esi, 0xffffffff
jl 0x10126690
push ecx
mov ecx, edi
call fcn.101021b0
mov ecx, dword [esp + 0x50]
add esp, 4
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
push esi
push ecx
mov ecx, edi
call fcn.101022e0
mov edx, dword [esp + 0x14]
add esp, 8
add edx, 8
mov eax, dword [edx]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x10126814
cmp dword [edi + 0x70], 0
je 0x10126717
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov dword [edi + 0xc], esi
movsx esi, word [ecx + 0x20]
mov dword [ecx + 0x10], eax
cmp dword [edi + 0x70], 0
je 0x101266ef
cmp esi, 0xffffffff
jl 0x101266ef
mov edx, ecx
mov ecx, edi
push 0
call fcn.101021b0
mov ecx, dword [esp + 0x10]
add esp, 4
mov edx, dword [ecx]
mov ecx, edi
push esi
push 0
call fcn.101022e0
mov edx, dword [esp + 0x14]
add esp, 8
add edx, 8
mov dword [esp + 0x10], 1
mov eax, dword [edx]
mov dword [edi + 0x14], eax
jmp 0x10126810
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
add edx, 8
add ecx, 0xfffffff0
mov eax, dword [edx]
mov dword [edi + 0x14], eax
mov eax, dword [esp + 0xc]
mov dword [edi + 0xc], ecx
movsx eax, word [eax + 0x20]
test eax, eax
jle 0x10126810
nop dword [eax]
mov byte [ecx + 8], 0
dec eax
add dword [edi + 0xc], 0x10
mov ecx, dword [edi + 0xc]
test eax, eax
jg 0x10126740
jmp 0x10126810
cmp dword [edi + 0x70], 0
je 0x101267b2
mov ecx, dword [esp + 0xc]
lea eax, [esi + 0x10]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 8]
movsx esi, word [ecx + 0x20]
mov dword [ecx + 0x10], eax
cmp dword [edi + 0x70], 0
je 0x1012678d
cmp esi, 0xffffffff
jl 0x1012678d
mov edx, ecx
mov ecx, edi
push 1
call fcn.101021b0
mov ecx, dword [esp + 0x10]
add esp, 4
mov edx, dword [ecx]
mov ecx, edi
push esi
push 1
call fcn.101022e0
mov edx, dword [esp + 0x14]
add esp, 8
add edx, 8
mov dword [esp + 0x10], 1
mov eax, dword [edx]
mov dword [edi + 0x14], eax
jmp 0x10126810
mov eax, dword [esp + 0xc]
movsx ecx, word [eax + 0x20]
lea edx, [eax + 8]
mov eax, dword [edx]
mov dword [esp + 0x18], ecx
mov dword [edi + 0x14], eax
test ecx, ecx
jne 0x101267d6
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [edi + 0xc], eax
jmp 0x10126810
mov edi, dword [esp + 0x28]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [edi - 0x10], eax
mov eax, edi
mov dword [eax - 0xc], ecx
mov ecx, edi
mov al, byte [esi + 8]
mov edi, dword [esp + 0x2c]
mov byte [ecx - 8], al
mov eax, dword [esp + 0x18]
mov dword [edi + 0xc], ecx
cmp eax, 1
jle 0x10126810
dec eax
mov byte [ecx + 8], 0
add dword [edi + 0xc], 0x10
mov ecx, dword [edi + 0xc]
sub eax, 1
jne 0x10126800
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 4
jne 0x101269a0
mov esi, dword [edx]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], esi
jmp 0x10122967
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
neg eax
shl eax, 4
add dword [edx], eax
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x4c], ecx
movzx eax, byte [ecx + 8]
mov dword [esp + 0x40], eax
movzx eax, byte [ecx + 6]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x1012688f
xor edi, edi
mov dword [esp + 0x30], eax
sub dword [esp + 0x30], 1
lea edi, [edi + 0x10]
mov edx, dword [edx]
mov eax, dword [edi + esi - 0x10]
mov ecx, dword [edi + esi - 0xc]
mov dword [edx + edi - 0x10], eax
mov dword [edx + edi - 0xc], ecx
mov al, byte [esi + edi - 8]
mov byte [edx + edi - 8], al
mov edx, dword [esp + 0xc]
jne 0x10126863
mov edi, dword [esp + 0x2c]
mov eax, dword [edi + 0x18]
sub eax, dword [edi + 0xc]
mov esi, dword [esp + 0x40]
sar eax, 4
cmp eax, esi
jg 0x101268fb
mov eax, dword [edi + 0x10]
cmp dword [eax + 0xc], 0
jle 0x101268b0
mov ecx, edi
call fcn.101074c0
mov edx, dword [edi + 0x18]
mov ecx, dword [edi + 0x1c]
sub edx, ecx
sar edx, 4
cmp edx, 0xf4240
jg 0x10126acb
mov eax, dword [edi + 0xc]
add edx, edx
sub eax, ecx
mov ecx, 0xf4240
sar eax, 4
add eax, esi
cmp edx, 0xf4240
cmovg edx, ecx
cmp edx, eax
jge 0x101268ef
mov edx, eax
cmp edx, ecx
jg 0x10126aaf
push 1
mov ecx, edi
call fcn.10101d30
add esp, 4
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov esi, dword [eax]
cmp ecx, edx
jg 0x1012692b
mov eax, ecx
sub edx, ecx
shl eax, 4
inc edx
add eax, 8
add eax, esi
add ecx, edx
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 0x10]
sub edx, 1
jne 0x10126920
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
inc eax
shl eax, 4
add eax, esi
shl ecx, 4
mov dword [edx + 4], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x34]
or word [edx + 0x22], 0x20
add ecx, esi
mov dword [edx + 0x10], eax
mov esi, edx
mov dword [edi + 0xc], ecx
jmp 0x10122960
mov al, byte [esi + 8]
mov ecx, dword [esp + 0x24]
and al, 0xf
cmp al, 3
jne 0x10126a07
mov al, byte [ecx + 8]
and al, 0xf
cmp al, 3
jne 0x10126a07
jmp 0x101269fd
mov al, byte [esp + 0xf0]
and al, 0xf
cmp al, 3
jne 0x10126a37
mov al, byte [esi + 8]
and al, 0xf
cmp al, 3
jne 0x10126a37
jmp 0x10126a28
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x18]
mov ecx, edi
push str.perform_arithmetic_on
push edx
call fcn.10101680
push edx
call fcn.101016a0
lea eax, [esp + 0x100]
mov edx, esi
push eax
mov ecx, edi
call fcn.101016e0
lea eax, [esp + 0x110]
mov edx, esi
push eax
mov ecx, edi
call fcn.101016e0
push esi
lea edx, [esp + 0x124]
mov ecx, edi
call fcn.101016e0
push esi
lea edx, [esp + 0x134]
mov ecx, edi
call fcn.101016e0
push ecx
mov edx, esi
mov ecx, edi
call fcn.101016a0
push str.perform_bitwise_operation_on
push ecx
mov edx, esi
mov ecx, edi
call fcn.10101680
push str.perform_arithmetic_on
push dword [esp + 0x28]
mov edx, esi
mov ecx, edi
call fcn.10101680
push esi
lea edx, [esp + 0xec]
mov ecx, edi
call fcn.101016a0
push str.perform_bitwise_operation_on
push esi
lea edx, [esp + 0xf0]
mov ecx, edi
call fcn.10101680
push str.perform_arithmetic_on
push esi
lea edx, [esp + 0xf0]
mov ecx, edi
call fcn.10101680
push str.perform_bitwise_operation_on
push edx
call fcn.10101680
mov edx, dword [edi + 0x14]
mov ecx, edi
push 0
sub esi, dword [edx]
sar esi, 4
push esi
call fcn.10100890
add esp, 8
mov ecx, 0x1040caa4
test eax, eax
cmovne ecx, eax
push ecx
push str.variable__s_got_a_non_closable_value
push edi
call fcn.10101830
push dword [esp + 0x18]
mov edx, esi
mov ecx, edi
call fcn.101016e0
push dword [esp + 0x18]
mov edx, esi
mov ecx, edi
call fcn.101016e0
push 1
mov edx, 0xf4308
mov ecx, edi
call fcn.10101d30
add esp, 4
push str.stack_overflow
push edi
call fcn.10101830
mov edx, 5
mov ecx, edi
call fcn.10101c10
nop
insd dword es:[edi], dx
sub dl, byte [edx]
adc byte [edi - 0x55efedd6], cl
sub dl, byte [edx]
adc al, al
sub dl, byte [edx]
adc ah, cl
sub dl, byte [edx]
adc ch, ah
sub dl, byte [edx]
adc dh, ch
sub dl, byte [edx]
adc byte [edx], al
sub edx, dword [edx]
adc byte [ebx], cl
sub edx, dword [edx]
adc byte [esi], ah
sub edx, dword [edx]
adc byte [ebx + ebp], bh
adc dl, byte [eax]
jmp 0xcc227d34