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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x9c
mov edi, dword [esp + 0xd4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov ebp, dword [esp + 0xd0]
mov dword [esp + 0x20], edi
mov ebx, dword [esp + 0xdc]
mov edi, dword [esp + 0xd8]
fnstcw word [esp + 0x4e]
mov dword [esp + 0x80], esi
mov dword [esp + 0x50], esi
mov esi, ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x8c], ecx
shr esi, 0x10
mov dword [esp + 0x54], edx
movzx edx, cx
shr ecx, 0x18
shr cl, 7
and esi, 0x7fff
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], esi
movzx esi, cl
mov dword [esp + 0x88], eax
mov dword [esp + 0x1c], esi
lea esi, [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, edx
mov edx, dword [esp + 0x28]
mov byte [esp + 0x24], cl
mov dword [esp + 0x2c], esi
lea ecx, [esp + 0x50]
lea esi, [esp + 0x44]
shl eax, 3
shr edx, 0x1d
sub ecx, 4
or eax, edx
mov dword [ecx + 0x10], eax
cmp esi, ecx
je 0x6d0c7c80
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 8]
jmp 0x6d0c7c63
mov eax, dword [esp + 0x50]
movzx edx, bx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x60], ebp
lea ecx, [esp + 0x54]
mov dword [esp + 0x88], edi
mov dword [esp + 0x68], edi
shl eax, 3
mov dword [esp + 0x6c], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov dword [esp + 0x64], eax
mov eax, ebx
shr ebx, 0x18
shr eax, 0x10
shr bl, 7
mov ebp, eax
movzx eax, bl
and ebp, 0x7fff
mov dword [esp + 0x20], eax
lea eax, [esp + 0x60]
mov dword [esp + 0x30], eax
lea esi, [edx*8]
shr edi, 0x1d
sub eax, 4
or esi, edi
mov dword [eax + 0x10], esi
cmp ecx, eax
je 0x6d0c7d10
mov edx, dword [eax + 0xc]
mov edi, dword [eax + 8]
jmp 0x6d0c7ce8
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
lea esi, [eax*8]
mov dword [esp + 0x60], esi
je 0x6d0c8074
sub edi, ebp
cmp edi, 0
jle 0x6d0c8400
test ebp, ebp
jne 0x6d0c7e00
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
or eax, ebx
or eax, ecx
or eax, esi
jne 0x6d0c81c4
cmp edi, 0x7fff
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
je 0x6d0c8bf0
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x70], ebx
nop
lea esi, [esi]
mov eax, edx
and eax, 0x80000
test eax, eax
je 0x6d0c7dc4
add edi, 1
and edx, 0xfff7ffff
cmp edi, 0x7fff
mov dword [esp + 0x7c], edx
je 0x6d0c8634
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov edx, edi
and dx, 0x7fff
mov ecx, dword [esp + 0x20]
lea esi, [esp + 0x7c]
shr eax, 3
shl ebx, 0x1d
add ecx, 4
or eax, ebx
mov dword [ecx - 4], eax
cmp esi, ecx
je 0x6d0c8340
mov eax, dword [ecx]
mov ebx, dword [ecx + 4]
jmp 0x6d0c7ddb
cmp dword [esp + 0x18], 0x7fff
je 0x6d0c82f0
or dword [esp + 0x6c], 0x80000
xor ebp, ebp
cmp edi, 0x74
jle 0x6d0c8761
mov dword [esp + 0x20], 1
mov dword [esp + 0x24], 0
xor edi, edi
xor esi, esi
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
sbb edx, dword [esp + 0x24]
sbb ecx, edi
sbb ebx, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x7c]
test ecx, 0x80000
je 0x6d0c8492
and ecx, 0x7ffff
mov edx, ecx
mov dword [esp + 0x7c], ecx
test edx, edx
je 0x6d0c8720
bsr edx, edx
xor edx, 0x1f
lea esi, [edx + 0x13]
mov eax, edx
sub eax, 0xc
cmovns esi, eax
cdq
shr edx, 0x1b
sar esi, 5
lea edi, [eax + edx]
and edi, 0x1f
sub edi, edx
je 0x6d0c86f0
cmp esi, 3
je 0x6d0c8f86
lea ebx, [esp + 0x70]
mov edx, esi
mov dword [esp + 0x28], eax
neg edx
mov dword [esp + 0x20], ebx
lea ebx, [ebx + edx*4 + 0xc]
mov edx, 0x20
sub edx, edi
mov dword [esp + 0x24], edx
movzx ecx, byte [esp + 0x24]
mov edx, dword [ebx - 4]
mov eax, dword [ebx]
shr edx, cl
mov ecx, edi
shl eax, cl
or edx, eax
mov dword [ebx + esi*4], edx
sub ebx, 4
cmp dword [esp + 0x20], ebx
jne 0x6d0c7ed3
mov eax, dword [esp + 0x28]
lea edx, [esi - 1]
mov ebx, dword [esp + 0x70]
mov ecx, edi
shl ebx, cl
mov dword [esp + esi*4 + 0x70], ebx
cmp edx, 0xffffffff
mov ecx, dword [esp + 0x20]
je 0x6d0c7f1c
mov dword [ecx + edx*4], 0
sub edx, 1
cmp edx, 0xffffffff
jne 0x6d0c7f0d
cmp dword [esp + 0x18], eax
jg 0x6d0c86d1
sub eax, dword [esp + 0x18]
lea edx, [eax + 0x20]
add eax, 1
mov ecx, eax
cmovns edx, eax
sar ecx, 0x1f
xor esi, esi
shr ecx, 0x1b
sar edx, 5
add eax, ecx
and eax, 0x1f
sub eax, ecx
mov edi, eax
mov ecx, eax
xor eax, eax
test edx, edx
jle 0x6d0c7f5f
mov ebx, dword [esp + 0x20]
or esi, dword [ebx + eax*4]
add eax, 1
cmp edx, eax
jne 0x6d0c7f55
test edi, edi
je 0x6d0c8e01
mov eax, dword [esp + eax*4 + 0x70]
mov ecx, 0x20
sub ecx, edi
mov dword [esp + 0x18], ecx
shl eax, cl
or esi, eax
mov eax, 3
sub eax, edx
mov dword [esp + 0x28], eax
je 0x6d0c8dbb
mov ecx, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], esi
lea eax, [ecx + eax*4]
lea ebx, [ecx + edx*4]
mov dword [esp + 0x24], eax
mov eax, edx
neg eax
shl eax, 2
mov edx, eax
mov eax, dword [ebx]
mov ecx, edi
mov esi, dword [ebx + 4]
add ebx, 4
shr eax, cl
movzx ecx, byte [esp + 0x18]
shl esi, cl
or eax, esi
mov dword [ebx + edx - 4], eax
cmp dword [esp + 0x24], ebx
jne 0x6d0c7fac
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov eax, 4
sub eax, edx
mov edx, dword [esp + 0x7c]
mov ecx, edi
mov edi, dword [esp + 0x28]
shr edx, cl
mov dword [esp + edi*4 + 0x70], edx
cmp eax, 3
jg 0x6d0c8002
mov edx, dword [esp + 0x20]
mov dword [edx + eax*4], 0
add eax, 1
cmp eax, 4
jne 0x6d0c7ff3
xor eax, eax
test esi, esi
mov ebx, dword [esp + 0x78]
setne al
or eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
mov esi, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov edx, esi
or edx, eax
or edx, ebx
or edx, ecx
je 0x6d0c84c0
mov dword [esp + 0x84], eax
lea edx, [esp + 0x74]
lea eax, [esp + 0x80]
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], ebx
mov esi, ebx
mov dword [esp + 0x8c], ecx
lea ebx, [ecx + ecx]
shr esi, 0x1f
sub eax, 4
or ebx, esi
mov dword [eax + 0x10], ebx
cmp eax, edx
je 0x6d0c8544
mov ecx, dword [eax + 0xc]
mov esi, dword [eax + 8]
jmp 0x6d0c8056
sub edi, ebp
cmp edi, 0
jle 0x6d0c88c0
test ebp, ebp
jne 0x6d0c8230
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
mov edx, ebx
or edx, ecx
or edx, eax
or edx, esi
je 0x6d0c7d60
mov edx, edi
sub edx, 1
je 0x6d0c8ca0
cmp edi, 0x7fff
je 0x6d0c8d08
cmp edx, 0x74
mov ebp, 2
jg 0x6d0c8251
mov edi, edx
mov ebp, 2
mov eax, edi
sar eax, 5
mov ecx, eax
mov dword [esp + 0x20], eax
mov eax, edi
and eax, 0x1f
test ecx, ecx
je 0x6d0c9405
xor edx, edx
xor edi, edi
add edx, 1
or edi, esi
cmp ecx, edx
je 0x6d0c80ff
mov esi, dword [esp + edx*4 + 0x60]
add edx, 1
or edi, esi
cmp ecx, edx
jne 0x6d0c80f2
test eax, eax
je 0x6d0c90b2
mov edx, dword [esp + edx*4 + 0x60]
mov ecx, 0x20
mov esi, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 0x2c], ecx
shl edx, cl
or edi, edx
mov edx, 3
sub edx, esi
mov dword [esp + 0x30], edx
je 0x6d0c97c5
add edx, esi
lea ebx, [esp + esi*4 + 0x60]
neg esi
lea ecx, [esp + edx*4 + 0x60]
mov dword [esp + 0x38], edi
shl esi, 2
mov dword [esp + 0x34], ebp
mov edi, ecx
mov edx, dword [ebx]
mov ecx, eax
mov ebp, dword [ebx + 4]
add ebx, 4
shr edx, cl
movzx ecx, byte [esp + 0x2c]
shl ebp, cl
or edx, ebp
mov dword [ebx + esi - 4], edx
cmp ebx, edi
jne 0x6d0c8148
mov edx, 4
sub edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov ecx, eax
shr ebx, cl
mov eax, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + ebx*4 + 0x60], eax
jmp 0x6d0c819b
mov dword [esp + edx*4 + 0x60], 0
add edx, 1
cmp edx, 4
jne 0x6d0c8190
xor eax, eax
test edi, edi
mov esi, dword [esp + 0x6c]
setne al
or eax, dword [esp + 0x60]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2c], eax
jmp 0x6d0c8265
mov eax, edi
sub eax, 1
jne 0x6d0c8740
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x5c]
mov edx, edi
mov edi, dword [esp + 0x54]
mov ebp, edi
mov edi, dword [esp + 0x28]
sub edi, esi
sbb ebp, dword [esp + 0x20]
sbb edx, ebx
sbb eax, ecx
test eax, 0x80000
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], edi
mov ecx, eax
jne 0x6d0c8c12
mov edx, eax
lea eax, [esp + 0x70]
mov ebx, edi
mov esi, edi
and ebx, 7
mov edi, 1
mov ebp, 2
mov dword [esp + 0x20], eax
jmp 0x6d0c84d3
cmp dword [esp + 0x18], 0x7fff
je 0x6d0c8f36
or dword [esp + 0x6c], 0x80000
xor ebp, ebp
cmp edi, 0x74
jle 0x6d0c80cd
mov dword [esp + 0x20], 1
mov dword [esp + 0x2c], 0
xor edi, edi
xor esi, esi
mov ebx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x2c]
adc ecx, edi
adc ebx, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x7c]
test ecx, 0x80000
je 0x6d0c8492
mov eax, dword [esp + 0x70]
lea ebx, [esp + 0x70]
mov edi, dword [esp + 0x18]
and ecx, 0xfff7ffff
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
mov esi, eax
lea ebx, [esp + 0x7c]
add edi, 1
shl esi, 0x1f
mov edx, eax
mov eax, dword [ecx + 4]
shr edx, 1
add ecx, 4
shl eax, 0x1f
or eax, edx
mov dword [ecx - 4], eax
cmp ecx, ebx
je 0x6d0c8dd0
mov edx, dword [ecx]
jmp 0x6d0c82cb
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x28]
mov esi, ebx
mov eax, edx
mov dword [esp + 0x74], ebx
or esi, ecx
shr eax, 0x12
mov dword [esp + 0x70], edi
or esi, edx
xor eax, 1
mov dword [esp + 0x78], ecx
and eax, 1
or esi, edi
mov esi, 0
cmove eax, esi
mov dword [esp + 0x7c], edx
mov edi, 0x7fff
movzx ebp, al
lea eax, [esp + 0x70]
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
shr eax, 3
cmp edi, 0x7fff
mov edi, dword [esp + 0x70]
je 0x6d0c83d4
mov word [esp + 0x8c], ax
movzx eax, word [esp + 0x8e]
movzx ecx, byte [esp + 0x24]
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], ebx
and ax, 0x8000
or edx, eax
shl ecx, 7
mov word [esp + 0x8e], dx
shr dx, 8
and edx, 0x7f
or ecx, edx
test ebp, ebp
mov byte [esp + 0x8f], cl
mov eax, dword [esp + 0x8c]
jne 0x6d0c8860
mov edx, dword [esp + 0xb0]
mov dword [edx + 0xc], eax
mov dword [edx], edi
mov eax, edx
mov dword [edx + 4], esi
mov dword [edx + 8], ebx
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, edi
or ecx, esi
or ecx, ebx
mov dword [esp + 0x18], ecx
mov ecx, eax
or ch, 0x80
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x18]
or ecx, eax
mov eax, 0
cmovne eax, dword [esp + 0x1c]
jmp 0x6d0c835b
jne 0x6d0c8a20
mov eax, dword [esp + 0x18]
add eax, 1
and eax, 0x7fff
cmp eax, 1
jle 0x6d0c8e95
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
sub eax, esi
sbb ecx, dword [esp + 0x64]
sbb ebx, dword [esp + 0x68]
sbb edx, dword [esp + 0x6c]
test edx, 0x80000
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
je 0x6d0c8ba0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov ebx, esi
mov eax, dword [esp + 0x64]
xor ebp, ebp
sub ebx, dword [esp + 0x50]
sbb eax, dword [esp + 0x54]
sbb ecx, dword [esp + 0x58]
sbb edx, dword [esp + 0x5c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x1c], eax
jmp 0x6d0c7e7d
lea eax, [esp + 0x70]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x18]
test ebx, ebx
jne 0x6d0c9dad
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edx, esi
or edx, eax
or edx, ebx
or edx, ecx
jne 0x6d0c802d
movzx eax, byte [esp + 0x1c]
mov ebx, esi
xor edi, edi
and ebx, 7
and eax, 1
mov byte [esp + 0x24], al
test ebx, ebx
je 0x6d0c7da0
movzx eax, word [esp + 0x4e]
or ebp, 0x20
and ax, 0xc00
cmp ax, 0x400
je 0x6d0c88b0
cmp ax, 0x800
je 0x6d0c8875
test ax, ax
jne 0x6d0c7da0
xor ecx, ecx
mov eax, esi
and eax, 0xf
cmp eax, 4
je 0x6d0c8534
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
add esi, 4
adc eax, 0
adc ebx, 0
adc edx, 0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
test ecx, ecx
je 0x6d0c7da0
or ebp, 0x10
jmp 0x6d0c7da0
mov eax, dword [esp + 0x80]
add eax, eax
test al, 6
je 0x6d0c8580
movzx edx, word [esp + 0x4e]
or ebp, 0x20
and dx, 0xc00
cmp dx, 0x400
je 0x6d0c89a0
cmp dx, 0x800
je 0x6d0c8950
test dx, dx
je 0x6d0c89b0
lea esi, [esi]
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x8c]
and edx, 0x100000
test esi, 7
mov eax, esi
je 0x6d0c85e2
movzx eax, word [esp + 0x4e]
xor ecx, ecx
test edx, edx
sete cl
or ebp, 0x20
mov edx, dword [esp + 0x7c]
and ax, 0xc00
cmp ax, 0x400
je 0x6d0c8f23
cmp ax, 0x800
je 0x6d0c8f10
test ax, ax
movzx eax, byte [esp + 0x1c]
je 0x6d0c8cfa
and eax, 1
xor edi, edi
mov byte [esp + 0x24], al
jmp 0x6d0c8534
test edx, edx
jne 0x6d0c9d07
mov edi, ebp
mov edx, dword [esp + 0x7c]
and edi, 0x20
jne 0x6d0c9d9a
test byte [esp + 0x4e], 0x10
je 0x6d0c86c0
movzx ebx, byte [esp + 0x1c]
mov ecx, edx
and ecx, 0x80000
and ebx, 1
test ecx, ecx
mov byte [esp + 0x24], bl
je 0x6d0c8940
and edx, 0xfff7ffff
mov edi, 1
mov dword [esp + 0x7c], edx
jmp 0x6d0c7dc8
movzx eax, word [esp + 0x4e]
and ax, 0xc00
je 0x6d0c8653
cmp ax, 0x800
je 0x6d0c867c
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x6d0c8684
cmp ax, 0x400
jne 0x6d0c8684
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
xor eax, eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov edx, 0x7fff
jmp 0x6d0c86b3
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x6d0c8653
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x78], 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x70], 0xffffffff
mov edx, 0x7ffe
mov edi, 0x7ffe
or ebp, 0x28
mov ebx, eax
jmp 0x6d0c7dd3
movzx eax, byte [esp + 0x1c]
and eax, 1
mov byte [esp + 0x24], al
jmp 0x6d0c853c
mov ecx, dword [esp + 0x7c]
sub dword [esp + 0x18], eax
mov esi, dword [esp + 0x70]
and ecx, 0xfff7ffff
mov dword [esp + 0x7c], ecx
jmp 0x6d0c849e
lea ebx, [esp + 0x70]
mov edx, esi
neg edx
lea edx, [ebx + edx*4]
mov dword [esp + 0x20], ebx
mov ecx, dword [edx + 0xc]
lea ebx, [esp + 0x60]
mov dword [edx + esi*4 + 0xc], ecx
sub edx, 4
cmp ebx, edx
jne 0x6d0c86ff
lea edx, [esi - 1]
jmp 0x6d0c7f04
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6d0c8a00
bsr eax, eax
xor eax, 0x1f
lea edx, [eax + 0x20]
jmp 0x6d0c7e8b
cmp edi, 0x7fff
je 0x6d0c8d08
cmp eax, 0x74
mov ebp, 2
jg 0x6d0c7e21
mov edi, eax
mov ebp, 2
mov eax, edi
sar eax, 5
mov ebx, eax
mov dword [esp + 0x20], eax
mov eax, edi
and eax, 0x1f
test ebx, ebx
je 0x6d0c8f98
xor edx, edx
xor edi, edi
mov ecx, ebx
add edx, 1
or edi, esi
cmp ecx, edx
je 0x6d0c8795
mov esi, dword [esp + edx*4 + 0x60]
add edx, 1
or edi, esi
cmp ecx, edx
jne 0x6d0c8788
test eax, eax
je 0x6d0c8e30
mov edx, dword [esp + edx*4 + 0x60]
mov ecx, 0x20
mov esi, dword [esp + 0x20]
sub ecx, eax
mov dword [esp + 0x24], ecx
shl edx, cl
or edi, edx
mov edx, 3
sub edx, esi
mov dword [esp + 0x30], edx
je 0x6d0c8dc5
add edx, esi
lea ebx, [esp + esi*4 + 0x60]
mov dword [esp + 0x34], edi
lea ecx, [esp + edx*4 + 0x60]
mov edx, esi
neg edx
lea esi, [edx*4]
mov dword [esp + 0x2c], ecx
mov edx, dword [ebx]
mov ecx, eax
mov edi, dword [ebx + 4]
add ebx, 4
shr edx, cl
movzx ecx, byte [esp + 0x24]
shl edi, cl
or edx, edi
mov dword [ebx + esi - 4], edx
cmp dword [esp + 0x2c], ebx
jne 0x6d0c87e2
mov edx, 4
sub edx, dword [esp + 0x20]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x6c]
mov ecx, eax
shr ebx, cl
mov eax, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + ebx*4 + 0x60], eax
jmp 0x6d0c882d
mov dword [esp + edx*4 + 0x60], 0
add edx, 1
cmp edx, 4
jne 0x6d0c8822
xor eax, eax
test edi, edi
mov esi, dword [esp + 0x6c]
setne al
or eax, dword [esp + 0x60]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x24], eax
jmp 0x6d0c7e35
mov dword [esp], ebp
mov dword [esp + 0x18], eax
call fcn.6d0c7b40
mov eax, dword [esp + 0x18]
jmp 0x6d0c83b5
xor ecx, ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x6d0c8534
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
add esi, 8
adc eax, 0
adc ebx, 0
adc edx, 0
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
jmp 0x6d0c8534
xor ecx, ecx
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x6d0c8534
jmp 0x6d0c8883
jne 0x6d0c8fa1
mov eax, dword [esp + 0x18]
lea ecx, [eax + 1]
mov eax, ecx
and eax, 0x7fff
cmp eax, 1
jle 0x6d0c8d56
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
lea ebp, [esp + 0x7c]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x28]
add eax, esi
adc edx, dword [esp + 0x64]
adc ebx, dword [esp + 0x68]
adc edi, dword [esp + 0x6c]
mov dword [esp + 0x78], ebx
lea ebx, [esp + 0x70]
mov dword [esp + 0x7c], edi
mov edi, eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
shl edi, 0x1f
mov dword [esp + 0x20], ebx
mov edx, eax
mov eax, dword [ebx + 4]
shr edx, 1
add ebx, 4
shl eax, 0x1f
or eax, edx
mov dword [ebx - 4], eax
cmp ebp, ebx
je 0x6d0c8e60
mov edx, dword [ebx]
jmp 0x6d0c891e
xor edi, edi
jmp 0x6d0c7dc8
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x6d0c8580
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 8
adc edx, 0
adc ecx, 0
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp 0x6d0c8580
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x6d0c8580
jmp 0x6d0c895c
mov edx, eax
and edx, 0xf
cmp edx, 4
je 0x6d0c8580
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
add eax, 4
adc edx, 0
adc ecx, 0
adc ebx, 0
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], eax
jmp 0x6d0c8580
mov eax, dword [esp + 0x74]
test eax, eax
je 0x6d0c8c24
bsr eax, eax
xor eax, 0x1f
lea edx, [eax + 0x40]
jmp 0x6d0c7e8b
mov eax, dword [esp + 0x18]
test eax, eax
je 0x6d0c8c34
cmp ebp, 0x7fff
je 0x6d0c9484
or dword [esp + 0x5c], 0x80000
cmp edi, 0xffffff8c
jl 0x6d0c9338
mov eax, edi
mov dword [esp + 0x24], 0
neg eax
mov ebx, eax
and eax, 0x1f
sar ebx, 5
mov edi, eax
test ebx, ebx
je 0x6d0c99a9
mov ecx, dword [esp + 0x28]
xor eax, eax
xor edx, edx
add eax, 1
or edx, ecx
cmp ebx, eax
je 0x6d0c8a85
mov ecx, dword [esp + eax*4 + 0x50]
add eax, 1
or edx, ecx
cmp ebx, eax
jne 0x6d0c8a78
mov dword [esp + 0x18], edx
test edi, edi
je 0x6d0c977b
mov edx, 0x20
mov eax, dword [esp + eax*4 + 0x50]
sub edx, edi
mov ecx, edx
mov dword [esp + 0x1c], edx
shl eax, cl
or dword [esp + 0x18], eax
mov eax, 3
sub eax, ebx
mov dword [esp + 0x30], eax
je 0x6d0c9bf2
add eax, ebx
lea edx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x34], ebx
lea eax, [esp + eax*4 + 0x50]
mov dword [esp + 0x28], eax
mov eax, ebx
neg eax
shl eax, 2
mov dword [esp + 0x2c], eax
mov eax, dword [edx]
mov ecx, edi
mov ebx, dword [edx + 4]
add edx, 4
shr eax, cl
movzx ecx, byte [esp + 0x1c]
shl ebx, cl
or eax, ebx
mov ebx, dword [esp + 0x2c]
mov dword [edx + ebx - 4], eax
cmp dword [esp + 0x28], edx
jne 0x6d0c8ad6
mov ebx, dword [esp + 0x34]
mov eax, 4
sub eax, ebx
mov edx, dword [esp + 0x5c]
mov ecx, edi
mov edi, dword [esp + 0x30]
shr edx, cl
mov dword [esp + edi*4 + 0x50], edx
jmp 0x6d0c8b2b
mov dword [esp + eax*4 + 0x50], 0
add eax, 1
cmp eax, 4
jne 0x6d0c8b20
mov ecx, dword [esp + 0x18]
xor eax, eax
mov edi, dword [esp + 0x54]
test ecx, ecx
setne al
or eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, esi
mov eax, dword [esp + 0x64]
sub ebx, dword [esp + 0x18]
sbb eax, edi
sbb edx, dword [esp + 0x28]
sbb ecx, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x24]
jmp 0x6d0c7e61
mov esi, eax
mov eax, edx
or eax, esi
or eax, dword [esp + 0x74]
or eax, dword [esp + 0x78]
jne 0x6d0c8c99
movzx eax, word [esp + 0x4e]
and ax, 0xc00
cmp ax, 0x400
sete al
xor ebp, ebp
movzx eax, al
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x1c]
mov ebx, esi
and ebx, 7
and eax, 1
mov byte [esp + 0x24], al
lea eax, [esp + 0x70]
mov dword [esp + 0x20], eax
jmp 0x6d0c84d3
mov ebx, ecx
or ebx, edx
or ebx, eax
or ebx, dword [esp + 0x28]
je 0x6d0c7d78
mov ebx, eax
shr ebx, 0x12
xor ebx, 1
and ebx, 1
mov ebp, ebx
jmp 0x6d0c7d78
mov dword [esp + 0x18], 1
mov ebp, 2
jmp 0x6d0c7e71
bsr edx, dword [esp + 0x70]
xor edx, 0x1f
add edx, 0x60
jmp 0x6d0c7e8b
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
or eax, ecx
or eax, edx
or eax, dword [esp + 0x28]
jne 0x6d0c9135
cmp ebp, 0x7fff
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
je 0x6d0c98f4
mov eax, dword [esp + 0x20]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x1c], eax
mov eax, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x20], eax
jmp 0x6d0c849e
xor ebp, ebp
jmp 0x6d0c7e7d
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x58]
mov edx, edi
mov edi, dword [esp + 0x54]
add ebp, esi
adc edi, ebx
adc edx, ecx
adc eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], edi
test ecx, 0x80000
mov dword [esp + 0x70], ebp
je 0x6d0c917e
mov dword [esp + 0x18], 1
mov ebp, 2
jmp 0x6d0c82a1
and eax, 1
xor edi, edi
mov byte [esp + 0x24], al
jmp 0x6d0c8506
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ebp, 2
mov edx, dword [esp + 0x5c]
mov eax, ecx
or eax, ebx
or eax, edx
or eax, dword [esp + 0x28]
je 0x6d0c8d35
xor eax, eax
test edx, 0x40000
sete al
mov ebp, eax
add ebp, 2
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edx
mov dword [esp + 0x70], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6d0c940e
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, eax
or edx, ebx
or edx, ecx
or edx, dword [esp + 0x28]
jne 0x6d0c9876
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
lea edi, [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x70], esi
mov dword [esp + 0x20], edi
mov edx, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
or edx, ebx
mov dword [esp + 0x7c], ecx
or edx, ecx
or edx, esi
mov edx, 2
cmovne ebp, edx
jmp 0x6d0c84b2
mov eax, 1
jmp 0x6d0c7fda
mov edx, 1
jmp 0x6d0c880e
mov edx, dword [esp + 0x7c]
xor eax, eax
shr edx, 1
test esi, esi
setne al
or eax, dword [esp + 0x70]
cmp edi, 0x7fff
mov dword [esp + 0x7c], edx
mov esi, eax
mov dword [esp + 0x70], eax
je 0x6d0c90dd
mov ebx, eax
and ebx, 7
jmp 0x6d0c84d3
mov edi, dword [esp + 0x20]
mov eax, 3
mov dword [esp + 0x18], edx
sub eax, edx
lea ebx, [edi + edx*4]
mov edx, dword [ebx + ecx*4]
mov dword [edi + ecx*4], edx
add ecx, 1
cmp ecx, eax
jle 0x6d0c8e13
mov edx, dword [esp + 0x18]
mov eax, 4
sub eax, edx
jmp 0x6d0c7fea
mov ebx, dword [esp + 0x20]
mov edx, 3
lea ecx, [esp + ebx*4 + 0x60]
sub edx, ebx
nop
mov ebx, dword [ecx + eax*4]
mov dword [esp + eax*4 + 0x60], ebx
add eax, 1
cmp eax, edx
jle 0x6d0c8e40
mov edx, 4
sub edx, dword [esp + 0x20]
jmp 0x6d0c882d
mov edx, dword [esp + 0x7c]
xor eax, eax
shr edx, 1
test edi, edi
setne al
or eax, dword [esp + 0x70]
cmp ecx, 0x7fff
mov dword [esp + 0x7c], edx
mov esi, eax
mov dword [esp + 0x70], eax
je 0x6d0c91a2
mov ebx, eax
xor ebp, ebp
mov edi, ecx
and ebx, 7
jmp 0x6d0c84d3
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x54]
test edx, edx
jne 0x6d0c8ff6
mov ebx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, eax
or edx, ebx
or edx, ecx
or edx, dword [esp + 0x28]
jne 0x6d0c935f
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x70], esi
mov edx, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
or edx, ebx
mov dword [esp + 0x7c], ecx
or edx, ecx
or edx, esi
jne 0x6d0c9674
movzx eax, word [esp + 0x4e]
mov edx, ecx
and ax, 0xc00
cmp ax, 0x400
sete al
xor esi, esi
xor ebp, ebp
movzx eax, al
mov dword [esp + 0x1c], eax
jmp 0x6d0c8bcd
movzx eax, byte [esp + 0x1c]
xor edi, edi
and eax, 1
mov byte [esp + 0x24], al
jmp 0x6d0c8877
movzx eax, byte [esp + 0x1c]
xor edi, edi
and eax, 1
mov byte [esp + 0x24], al
jmp 0x6d0c88b2
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x28]
mov ecx, ebx
mov eax, edx
mov dword [esp + 0x74], ebx
or ecx, esi
shr eax, 0x12
mov dword [esp + 0x70], edi
or ecx, edx
xor eax, 1
mov dword [esp + 0x78], esi
and eax, 1
or ecx, edi
mov ecx, 0
cmove eax, ecx
mov dword [esp + 0x7c], edx
mov edi, 0x7fff
movzx ebp, al
lea eax, [esp + 0x70]
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
lea ebx, [esp + 0x70]
mov edx, 2
mov dword [esp + 0x20], ebx
jmp 0x6d0c7ef8
xor edx, edx
xor edi, edi
jmp 0x6d0c8795
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x6d0c91fd
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov eax, ebx
or eax, ecx
or eax, edx
or eax, dword [esp + 0x28]
jne 0x6d0c962f
cmp ebp, 0x7fff
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
je 0x6d0c9bba
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
jmp 0x6d0c8c82
cmp dword [esp + 0x18], 0x7fff
je 0x6d0c95ef
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x34], eax
or eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], edx
or eax, edx
or eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x64]
cmp ebp, 0x7fff
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
mov eax, ecx
je 0x6d0c959d
or eax, ebp
or eax, edx
or eax, esi
cmp dword [esp + 0x18], 0
jne 0x6d0c9568
test eax, eax
jne 0x6d0c95bf
lea eax, [esp + 0x70]
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], 0x8000
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov ebx, 0x8000
mov dword [esp + 0x20], eax
mov edx, eax
xor eax, eax
mov dword [esp + 0x70], 0
mov esi, eax
lea eax, [ebx*8]
mov ebx, esi
sub edx, 4
shr ebx, 0x1d
or eax, ebx
mov dword [edx + 0x10], eax
cmp ecx, edx
je 0x6d0c97a0
mov ebx, dword [edx + 0xc]
mov esi, dword [edx + 8]
jmp 0x6d0c908e
mov ebx, dword [esp + 0x20]
mov edx, 3
lea ecx, [esp + ebx*4 + 0x60]
sub edx, ebx
mov ebx, dword [ecx + eax*4]
mov dword [esp + eax*4 + 0x60], ebx
add eax, 1
cmp eax, edx
jle 0x6d0c90c1
mov edx, 4
sub edx, dword [esp + 0x20]
jmp 0x6d0c819b
movzx eax, word [esp + 0x4e]
and ax, 0xc00
je 0x6d0c9107
cmp ax, 0x800
je 0x6d0c9506
cmp ax, 0x400
jne 0x6d0c9512
cmp byte [esp + 0x24], 0
je 0x6d0c9512
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
xor ebx, ebx
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
xor esi, esi
or ebp, 0x28
mov edx, esi
jmp 0x6d0c84d3
mov eax, edi
xor eax, 0xffffffff
jne 0x6d0c9546
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x18], ebp
mov ebp, 2
sub esi, dword [esp + 0x28]
sbb eax, ecx
sbb edi, dword [esp + 0x1c]
sbb ebx, edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], eax
jmp 0x6d0c7e61
mov esi, dword [esp + 0x28]
lea eax, [esp + 0x70]
mov edx, dword [esp + 0x18]
mov edi, 1
mov ebp, 2
mov dword [esp + 0x20], eax
mov ebx, esi
and ebx, 7
jmp 0x6d0c84d3
movzx eax, word [esp + 0x4e]
and ax, 0xc00
je 0x6d0c91cc
cmp ax, 0x800
je 0x6d0c97cf
cmp ax, 0x400
jne 0x6d0c97db
cmp byte [esp + 0x24], 0
je 0x6d0c97db
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov edi, 0x7fff
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov ebp, 0x28
xor eax, eax
jmp 0x6d0c7dc8
cmp ebp, 0x7fff
je 0x6d0c9916
or dword [esp + 0x5c], 0x80000
cmp edi, 0xffffff8c
jl 0x6d0c9814
mov eax, edi
mov dword [esp + 0x20], 0
neg eax
mov ebx, eax
and eax, 0x1f
sar ebx, 5
mov edi, eax
test ebx, ebx
je 0x6d0c9c70
xor edx, edx
xor eax, eax
mov ecx, dword [esp + 0x28]
jmp 0x6d0c9246
mov ecx, dword [esp + eax*4 + 0x50]
add eax, 1
or edx, ecx
cmp ebx, eax
jne 0x6d0c9242
mov dword [esp + 0x18], edx
test edi, edi
je 0x6d0c9a66
mov edx, 0x20
mov eax, dword [esp + eax*4 + 0x50]
sub edx, edi
mov ecx, edx
mov dword [esp + 0x2c], edx
shl eax, cl
or dword [esp + 0x18], eax
mov eax, 3
sub eax, ebx
mov dword [esp + 0x28], eax
je 0x6d0c92ae
lea edx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x30], esi
xor ebx, ebx
mov eax, dword [edx]
mov ecx, edi
add edx, 4
mov esi, dword [edx]
shr eax, cl
movzx ecx, byte [esp + 0x2c]
shl esi, cl
or eax, esi
mov dword [esp + ebx*4 + 0x50], eax
add ebx, 1
cmp ebx, dword [esp + 0x28]
jne 0x6d0c9289
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x5c]
mov ecx, edi
mov eax, ebx
shr edx, cl
add eax, 1
mov dword [esp + ebx*4 + 0x50], edx
cmp eax, 3
jg 0x6d0c92d8
mov dword [esp + eax*4 + 0x50], 0
add eax, 1
cmp eax, 4
jne 0x6d0c92c8
mov edx, dword [esp + 0x18]
xor eax, eax
mov edi, dword [esp + 0x54]
test edx, edx
setne al
or eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
mov ebx, esi
mov eax, dword [esp + 0x64]
add ebx, dword [esp + 0x18]
adc eax, edi
adc edx, dword [esp + 0x2c]
adc ecx, dword [esp + 0x28]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x20]
jmp 0x6d0c8291
mov dword [esp + 0x24], 0
mov dword [esp + 0x18], 1
xor edi, edi
mov dword [esp + 0x28], 0
mov dword [esp + 0x1c], 0
jmp 0x6d0c8b57
mov edx, dword [esp + 0x64]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x24], edx
or edx, dword [esp + 0x18]
or edx, ebp
or edx, esi
je 0x6d0c94de
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x28]
sub eax, esi
sbb ebp, dword [esp + 0x18]
sbb ebx, dword [esp + 0x24]
sbb edx, dword [esp + 0x2c]
test edx, 0x80000
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], eax
mov ecx, edx
je 0x6d0c99b8
mov edi, dword [esp + 0x20]
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov ebp, 2
sub eax, dword [esp + 0x50]
sbb edx, dword [esp + 0x54]
sbb ebx, dword [esp + 0x58]
sbb ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], edi
lea edi, [esp + 0x70]
mov dword [esp + 0x70], eax
mov esi, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], edx
mov eax, edx
mov dword [esp + 0x20], edi
jmp 0x6d0c84b2
xor edx, edx
xor edi, edi
jmp 0x6d0c80ff
cmp dword [esp + 0x18], 0x7fff
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
je 0x6d0c9aac
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], eax
or eax, ecx
or eax, ebx
or eax, dword [esp + 0x28]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], eax
cmp ebp, 0x7fff
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
je 0x6d0c9a8b
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x6d0c983b
lea eax, [esp + 0x70]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x70], esi
mov ebp, edi
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], edx
mov edi, 0x7fff
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov ebp, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov byte [esp + 0x24], bl
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x70], esi
mov ecx, ebp
mov eax, edx
mov dword [esp + 0x74], ebp
or ecx, edi
shr eax, 0x12
mov dword [esp + 0x78], edi
or ecx, edx
xor eax, 1
mov dword [esp + 0x7c], edx
and eax, 1
or ecx, esi
mov ecx, 0
cmove eax, ecx
mov edi, 0x7fff
mov dword [esp + 0x1c], ebx
mov ebp, eax
lea eax, [esp + 0x70]
and ebp, 1
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov edi, dword [esp + 0x28]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x70], edi
mov esi, edi
lea edi, [esp + 0x70]
mov ebp, 2
mov dword [esp + 0x20], edi
jmp 0x6d0c802d
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x6d0c9107
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x78], 0xffffffff
mov ebx, 7
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x70], 0xffffffff
mov esi, 0xffffffff
mov edi, 0x7ffe
jmp 0x6d0c912b
cmp ebp, 0x7fff
je 0x6d0c9a0d
cmp eax, 0x74
mov dword [esp + 0x24], 2
jg 0x6d0c9340
jmp 0x6d0c8a55
test eax, eax
je 0x6d0c96bb
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
lea ebx, [esp + 0x5c]
mov eax, dword [esp + 0x28]
shr eax, 3
shl ebp, 0x1d
add edx, 4
or eax, ebp
mov dword [edx - 4], eax
cmp ebx, edx
je 0x6d0c9681
mov eax, dword [edx]
mov ebp, dword [edx + 4]
jmp 0x6d0c9580
or eax, ebp
or eax, edx
or eax, esi
je 0x6d0c96af
test edx, 0x40000
mov eax, 1
cmove edi, eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6d0c9570
mov eax, dword [esp + 0x20]
mov dword [esp + 0x78], ebp
mov ebp, edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ecx
mov edi, 0x7fff
mov dword [esp + 0x7c], edx
mov byte [esp + 0x24], bl
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x70]
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov edx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
mov ecx, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
or eax, edx
or eax, ecx
or eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
je 0x6d0c9024
mov eax, ecx
shr eax, 0x12
xor eax, 1
and eax, 1
mov edi, eax
jmp 0x6d0c9024
mov eax, edi
xor eax, 0xffffffff
jne 0x6d0c99eb
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x64]
add esi, dword [esp + 0x28]
adc eax, ebx
adc edi, ecx
adc edx, dword [esp + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x7c], edx
mov ebp, 2
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], esi
jmp 0x6d0c8291
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1c], edi
jmp 0x6d0c94f4
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x30]
lea edx, [esp + 0x6c]
shr eax, 3
mov dword [esp + 0x18], eax
mov eax, esi
shr eax, 3
shl ecx, 0x1d
add ebx, 4
or eax, ecx
mov dword [ebx - 4], eax
cmp edx, ebx
je 0x6d0c96f1
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
jmp 0x6d0c9696
mov eax, dword [esp + 0x18]
test eax, eax
je 0x6d0c9057
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov edx, eax
lea eax, [esp + 0x70]
mov ebp, edi
mov edi, 0x7fff
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov eax, dword [esp + 0x6c]
shr eax, 3
cmp dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
jbe 0x6d0c9964
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebp
mov eax, ebp
mov dword [esp + 0x7c], ebx
lea ebx, [esp + 0x70]
mov edx, dword [esp + 0x18]
mov esi, eax
mov dword [esp + 0x20], ebx
mov ecx, ebx
lea ebx, [esp + 0x64]
lea eax, [edx*8]
shr esi, 0x1d
sub ecx, 4
or eax, esi
mov dword [ecx + 0x10], eax
cmp ebx, ecx
je 0x6d0c975a
mov edx, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
jmp 0x6d0c973c
movzx eax, byte [esp + 0x1c]
mov ebp, edi
shl dword [esp + 0x70], 3
mov edx, dword [esp + 0x7c]
mov edi, 0x7fff
and eax, 1
mov byte [esp + 0x24], al
jmp 0x6d0c7da0
mov edx, 3
lea eax, [esp + ebx*4 + 0x50]
sub edx, ebx
mov ecx, dword [eax + edi*4]
mov dword [esp + edi*4 + 0x50], ecx
add edi, 1
cmp edi, edx
jle 0x6d0c9786
mov eax, 4
sub eax, ebx
jmp 0x6d0c8b2b
shl dword [esp + 0x70], 3
mov edx, dword [esp + 0x7c]
mov edi, 0x7fff
mov byte [esp + 0x24], 1
mov dword [esp + 0x1c], 1
mov ebp, 1
jmp 0x6d0c7da0
mov edx, 1
jmp 0x6d0c8176
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x6d0c91cc
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x78], 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0x74], 0xffffffff
mov dword [esp + 0x70], 0xffffffff
mov ebp, 0x28
mov esi, 0xffffffff
mov edi, 0x7ffe
jmp 0x6d0c84e7
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], 1
xor edi, edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
jmp 0x6d0c92ff
mov eax, ebp
or eax, ebx
or eax, esi
or eax, edx
je 0x6d0c9b10
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x5c]
mov ebp, dword [esp + 0x28]
shl ecx, 0x1d
add eax, 4
shr ebp, 3
or ecx, ebp
mov dword [eax - 4], ecx
cmp edx, eax
je 0x6d0c9ae2
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 4]
jmp 0x6d0c9851
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], edi
or edi, ebp
or edx, edi
or edx, esi
je 0x6d0c94de
mov edx, ecx
mov edi, eax
mov eax, dword [esp + 0x28]
add eax, esi
adc edi, dword [esp + 0x20]
adc ebx, ebp
adc edx, dword [esp + 0x18]
test edx, 0x80000
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], eax
mov ecx, edx
je 0x6d0c9bdc
mov ebx, eax
mov esi, eax
lea eax, [esp + 0x70]
and edx, 0xfff7ffff
and ebx, 7
mov edi, 1
mov dword [esp + 0x7c], edx
mov ebp, 2
mov dword [esp + 0x20], eax
jmp 0x6d0c84d3
mov eax, edx
or eax, ebx
or eax, ecx
or eax, esi
je 0x6d0c8c6a
mov eax, ecx
shr eax, 0x12
xor eax, 1
and eax, 1
mov dword [esp + 0x18], eax
jmp 0x6d0c8c6a
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x70], esi
mov ecx, ebx
mov eax, edx
mov dword [esp + 0x74], ebx
or ecx, edi
shr eax, 0x12
mov dword [esp + 0x78], edi
or ecx, edx
xor eax, 1
mov dword [esp + 0x7c], edx
and eax, 1
or ecx, esi
mov ecx, 0
cmove eax, ecx
mov edi, 0x7fff
mov ebp, eax
lea eax, [esp + 0x70]
and ebp, 1
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
je 0x6d0c9c7f
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
cmp ebx, ecx
je 0x6d0c9c98
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov eax, esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
jmp 0x6d0c9728
xor eax, eax
mov dword [esp + 0x18], 0
jmp 0x6d0c8a89
mov esi, eax
mov eax, ebp
mov ebp, edx
or ebp, esi
or ebp, eax
or ebp, ebx
jne 0x6d0c94f4
movzx eax, word [esp + 0x4e]
mov ebp, 2
and ax, 0xc00
cmp ax, 0x400
sete al
movzx eax, al
mov dword [esp + 0x1c], eax
jmp 0x6d0c8bcd
cmp ebp, 0x7fff
je 0x6d0c9c23
cmp eax, 0x74
mov dword [esp + 0x20], 2
jle 0x6d0c9226
jmp 0x6d0c981c
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov eax, 2
mov edx, dword [esp + 0x6c]
mov ecx, ebp
or ecx, edi
or ecx, edx
or ecx, esi
je 0x6d0c9a36
xor eax, eax
test edx, 0x40000
sete al
add eax, 2
mov byte [esp + 0x24], bl
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x74], ebp
mov ebp, eax
lea eax, [esp + 0x70]
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], esi
mov edi, 0x7fff
mov dword [esp + 0x7c], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
mov edx, 3
lea eax, [esp + ebx*4 + 0x50]
sub edx, ebx
mov ecx, dword [eax + edi*4]
mov dword [esp + edi*4 + 0x50], ecx
add edi, 1
cmp edi, edx
jle 0x6d0c9a71
mov eax, 4
sub eax, ebx
jmp 0x6d0c92c3
mov eax, ebx
or eax, ebp
or eax, edx
or eax, esi
je 0x6d0c9454
test edx, 0x40000
mov eax, 1
cmove edi, eax
jmp 0x6d0c9454
mov edx, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov ebx, eax
mov dword [esp + 0x34], eax
mov eax, edx
or eax, ecx
or eax, ebx
or eax, dword [esp + 0x28]
mov dword [esp + 0x38], eax
je 0x6d0c943c
mov eax, ebx
shr eax, 0x12
xor eax, 1
and eax, 1
mov edi, eax
jmp 0x6d0c943c
mov eax, dword [esp + 0x5c]
lea edx, [esp + 0x6c]
shr eax, 3
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
shr esi, 3
shl ebx, 0x1d
add eax, 4
mov ecx, esi
or ecx, ebx
mov dword [eax - 4], ecx
cmp eax, edx
je 0x6d0c9b2d
mov esi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x6d0c9af5
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x34]
jmp 0x6d0c96d7
mov eax, dword [esp + 0x6c]
shr eax, 3
cmp dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
ja 0x6d0c9bfc
je 0x6d0c9ce0
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x60]
cmp ecx, eax
mov ebx, ecx
je 0x6d0c9d10
mov ecx, eax
mov edx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x70], ecx
mov eax, esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], ebx
lea ebx, [esp + 0x70]
mov dword [esp + 0x20], ebx
mov edx, ebx
lea ebx, [esp + 0x64]
mov ecx, dword [esp + 0x18]
shr eax, 0x1d
sub edx, 4
shl ecx, 3
or eax, ecx
mov dword [edx + 0x10], eax
cmp edx, ebx
je 0x6d0c975a
mov eax, dword [edx + 0xc]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 8]
jmp 0x6d0c9b94
mov eax, edx
or eax, ebx
or eax, ecx
or eax, esi
je 0x6d0c8fe1
mov eax, ecx
shr eax, 0x12
xor eax, 1
and eax, 1
mov dword [esp + 0x18], eax
jmp 0x6d0c8fe1
mov esi, eax
mov eax, edi
lea edi, [esp + 0x70]
mov ebp, 2
mov dword [esp + 0x20], edi
jmp 0x6d0c84b2
mov eax, 1
jmp 0x6d0c8b04
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ebp
mov eax, ebp
mov dword [esp + 0x7c], ebx
jmp 0x6d0c9b86
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x68]
mov eax, 2
mov edx, dword [esp + 0x6c]
mov ecx, ebx
or ecx, edi
or ecx, edx
or ecx, esi
je 0x6d0c9c4c
xor eax, eax
test edx, 0x40000
sete al
add eax, 2
mov ebp, eax
lea eax, [esp + 0x70]
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ebx
mov edi, 0x7fff
mov dword [esp + 0x7c], edx
mov dword [esp + 0x20], eax
jmp 0x6d0c7da0
xor eax, eax
mov dword [esp + 0x18], 0
jmp 0x6d0c9253
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x68]
cmp ebp, esi
jbe 0x6d0c9cc5
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
jmp 0x6d0c9712
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x64]
jne 0x6d0c997a
mov ebp, dword [esp + 0x58]
cmp ebp, dword [esp + 0x68]
jne 0x6d0c9cbe
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x18], ecx
je 0x6d0c9712
mov ecx, ebx
jmp 0x6d0c997a
jne 0x6d0c996a
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
cmp eax, edx
jbe 0x6d0c9d4e
mov ebx, dword [esp + 0x50]
jmp 0x6d0c9712
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x68]
cmp ebp, esi
ja 0x6d0c9d41
jne 0x6d0c9b48
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x64]
cmp eax, edx
jbe 0x6d0c9d59
mov ebx, dword [esp + 0x50]
jmp 0x6d0c9c08
mov edx, dword [esp + 0x7c]
jmp 0x6d0c8604
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x64]
jne 0x6d0c9b5c
mov ebp, dword [esp + 0x58]
cmp ebp, dword [esp + 0x68]
jne 0x6d0c9d36
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x18], edx
je 0x6d0c9c08
mov edx, eax
mov esi, dword [esp + 0x68]
jmp 0x6d0c9b64
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
jmp 0x6d0c9c08
je 0x6d0c9d64
mov ecx, dword [esp + 0x60]
jmp 0x6d0c9982
je 0x6d0c9d7f
mov ecx, dword [esp + 0x60]
jmp 0x6d0c9b64
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
cmp ebx, ecx
ja 0x6d0c9712
jne 0x6d0c9982
jmp 0x6d0c9712
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
cmp ebx, ecx
ja 0x6d0c9c08
jne 0x6d0c9b64
jmp 0x6d0c9c08
movzx eax, byte [esp + 0x1c]
xor edi, edi
and eax, 1
mov byte [esp + 0x24], al
jmp 0x6d0c853c
movzx eax, byte [esp + 0x1c]
mov ebx, esi
mov edx, ecx
and ebx, 7
mov edi, dword [esp + 0x18]
and eax, 1
mov byte [esp + 0x24], al
jmp 0x6d0c84d3